Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么访问Ajax响应变量会使代码崩溃?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 为什么访问Ajax响应变量会使代码崩溃?

Javascript 为什么访问Ajax响应变量会使代码崩溃?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下成功进行Ajax调用的客户端脚本: $.ajax({ type: "GET", url: "Register?handler=GeneratePassword", contentType: "application/json", dataType: "json", success: function (response) { var resp = response; var pwd = response.passwo

我有以下成功进行Ajax调用的客户端脚本:

$.ajax({
    type: "GET",
    url: "Register?handler=GeneratePassword",
    contentType: "application/json",
    dataType: "json",
    success: function (response) {
        var resp = response;
        var pwd = response.password;
        if (response.ok === true) {
            $("#genPwd").val(response.password);
        }
    },
    failure: function (response) {
        alert(response);
    }
});
当我在直线上放置断点时:

var resp = response;
然后
resp
{ok:true,密码:“OkF6”}
。当我尝试并执行以下行时:

var pwd = response.password;

函数只是退出,没有错误,没有异常,什么都没有。它完全停止了。我的这段Ajax代码有什么问题?

在访问值之前,先解析对
json
对象的响应

var resp = JSON.parse(response);

使用浏览器的开发工具,在代码上添加一个断点(或在soccess回调中添加一个
调试器;
行),然后手动运行该行以查看是否有错误,逐步检查每一行。它应该可以正常工作,我想可能是其他地方发生了一些与taht代码无关的事情。尝试
console.log(typeof response)
,很可能是
string
。在这种情况下,您需要将其解析为JSON(参见@Shahzeb的答案)。如果是字符串,则
响应。ok
未定义,因此跳过
If
,函数结束。