Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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 JSON对象已返回,但无法通过$.ajax()访问_Javascript_Ajax_Json_Jquery - Fatal编程技术网

Javascript JSON对象已返回,但无法通过$.ajax()访问

Javascript JSON对象已返回,但无法通过$.ajax()访问,javascript,ajax,json,jquery,Javascript,Ajax,Json,Jquery,我有一个ASP.NET MVC Web API,我正在通过$.ajax()方法调用它。我的API返回了正确的JSON,但无法访问该对象。尝试记录“Name”的值时,在我的控制台中收到的错误是: 未捕获的TypeError:无法读取未定义的属性“Name” JSON: jQuery: $.ajax({ cache:false, type: 'GET', dataType: 'json', url: 'h

我有一个ASP.NET MVC Web API,我正在通过$.ajax()方法调用它。我的API返回了正确的JSON,但无法访问该对象。尝试记录“Name”的值时,在我的控制台中收到的错误是:

未捕获的TypeError:无法读取未定义的属性“Name”

JSON:

jQuery:

$.ajax({
            cache:false,
            type: 'GET',
            dataType: 'json',
            url: 'http://localhost:3235/Users/searchUsers?callback=?&searchString=' + searchString,
            complete: function (data) {
                console.log(data[0].Name);
            }
        });

任何帮助都将不胜感激。谢谢

我想你的意思是使用
success
功能。
complete
函数没有将
数据
作为参数。

我想您的意思是使用
success
函数。
complete
函数不将
数据作为参数。

来自:

完成
类型:函数(jqXHR jqXHR,字符串文本状态)
函数 在请求完成时调用(在成功和错误之后 执行回调)。函数被传递两个参数: jqXHR(在jquery1.4.x中,XMLHTTPRequest)对象和字符串 对请求的状态进行分类(“成功”、“未修改”, “错误”、“超时”、“中止”或“解析器错误”)

方法的第一个参数不是接收到的数据。您可以通过
jqXHR
对象获得它,但我认为您实际上不需要使用此选项。改用
success

成功
类型:函数(纯对象数据,字符串textStatus,jqXHR jqXHR)
如果请求 成功。函数传递三个参数:返回的数据 来自服务器,根据数据类型参数格式化;A. 描述状态的字符串;和jqXHR(在jquery1.4.x中, XMLHttpRequest)对象

发件人:

完成
类型:函数(jqXHR jqXHR,字符串文本状态)
函数 在请求完成时调用(在成功和错误之后 执行回调)。函数被传递两个参数: jqXHR(在jquery1.4.x中,XMLHTTPRequest)对象和字符串 对请求的状态进行分类(“成功”、“未修改”, “错误”、“超时”、“中止”或“解析器错误”)

方法的第一个参数不是接收到的数据。您可以通过
jqXHR
对象获得它,但我认为您实际上不需要使用此选项。改用
success

成功
类型:函数(纯对象数据,字符串textStatus,jqXHR jqXHR)
如果请求 成功。函数传递三个参数:返回的数据 来自服务器,根据数据类型参数格式化;A. 描述状态的字符串;和jqXHR(在jquery1.4.x中, XMLHttpRequest)对象


ya complete在发出服务调用后激发,并且它不包含来自服务响应的数据

使用


happy coding

ya complete在发出服务呼叫后触发,它不包含来自服务响应的数据

使用



快乐编码

尝试记录
数据
是什么。如果您只需
控制台,您可以显示什么日志。记录(数据)
以查看返回的内容,而不仅仅是知道
名称
不在那里。您可能返回的结果是
内容类型
文本/html
。JS中的
JSON.stringify(result)
,或者发送正确的头和响应。即使头是错误的,他是否指定它是JSON也无关紧要。当您包含
数据类型:“JSON”时,jQuery会自动为您解析它
正如上面代码中所做的那样。尝试记录
数据是什么。如果您只需
控制台,您可以显示什么日志。log(data)
查看返回的内容,而不仅仅是知道
名称不在那里,您可能返回的结果是
内容类型
文本/html
。JS中的
JSON.stringify(result)
,或者发送正确的头和响应。即使头是错误的,他是否指定它是JSON也无关紧要。当您包含
dataType:“JSON”
时,jQuery会自动为您解析它,就像上面代码中所做的那样。我不敢相信我也没有注意到:P+1。我也不敢相信。我在想斜视解决了这个问题:D@Ejay:是的,我完全错过了那条船。甚至没有考虑回调类型。虽然我想知道Yatrix回答中的问题是否也会起作用。成功并没有起作用,但它神奇地再次起作用。很高兴知道“完整”不需要数据。谢谢大家!我不敢相信我也没有注意到:P+1。我也不敢相信。我在想斜视解决了这个问题:D@Ejay:是的,我完全错过了那条船。甚至没有考虑回调类型。虽然我想知道Yatrix回答中的问题是否也会起作用。成功并没有起作用,但它神奇地再次起作用。很高兴知道“完整”不需要数据。谢谢大家!
$.ajax({
            cache:false,
            type: 'GET',
            dataType: 'json',
            url: 'http://localhost:3235/Users/searchUsers?callback=?&searchString=' + searchString,
            complete: function (data) {
                console.log(data[0].Name);
            }
        });
$.ajax({
url:'ur url',
type:'GET'
success:function(data){
// way to acces ur object code goes here


console.log(data[0].Name);


},
error:function(){
// Error handling
}
});