首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用mysql和ajax时访问json字符串中的变量时出现问题

在使用mysql和ajax时访问json字符串中的变量时出现问题
EN

Stack Overflow用户
提问于 2020-04-17 13:40:18
回答 2查看 41关注 0票数 1

我对jquery有一些问题。为什么访问json字符串中的变量会出现问题?

代码语言:javascript
复制
$(function() {
  var jqxhr = $.ajax({
    type: "POST",
    url: "test.php",
    async: false,
    cache: false,
    timeout: 10000,
    data: {
      test: "test"
    },
    success: function(response) {
      console.log(response); // {"login":"1","status_":0,"user":1}
      console.log(response.login); //undefined
      test = JSON.parse(response); // Uncaught SyntaxError: Unexpected token  in JSON at position 2
      console.log(test.login); //not work 
    },
    complete: function(response) {
    }
  });
})();
代码语言:javascript
复制
test.php
require("config.php");
require("dbconnect.php");
$sth = $dbh->prepare('SELECT * FROM users WHERE email=?');
$sth->bindParam(1, $_POST["login"], PDO::PARAM_STR);
$sth->execute();
$user = $sth->fetch();
if(@$user['email']==$_POST["test"]) { 
$json = json_encode(array("login" =>"1","status_"=>0, "user" => 1), JSON_UNESCAPED_UNICODE);
}
else { 
$json = json_encode(array("login" =>"1", "status_"=>1, "user" => 1), JSON_UNESCAPED_UNICODE);
}
echo $json;

这是一个小的php脚本,通过简单的条件返回一个JSON字符串。

如果我不使用下面的代码:

代码语言:javascript
复制
require("config.php");
require("dbconnect.php");
$sth = $dbh->prepare('SELECT * FROM users WHERE email=?');
$sth->bindParam(1, $_POST["test"], PDO::PARAM_STR);
$sth->execute();
$user = $sth->fetch();

它可以工作并且返回(response.login)//console.log 1),但是如果我使用数据库连接,它就不能。为什么?

EN

回答 2

Stack Overflow用户

发布于 2020-04-17 14:04:40

在Ajax调用中声明dataType。就像-

代码语言:javascript
复制
dataType: 'json'

或者将字符串解析为有效的JSON。喜欢

代码语言:javascript
复制
JSON.parse(response);

第二件事,通常应该在服务器端对JSON进行编码。请看-

代码语言:javascript
复制
$json = json_encode(array("login" =>"1", "status_"=>1, "user" => 1));
票数 0
EN

Stack Overflow用户

发布于 2020-04-17 14:55:55

我让dbconnect.php中的require config.php和脚本正常工作,但这可能是某种异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61264833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档