gpt4 book ai didi

jQuery $.ajax 错误 : Parsing JSON Request failed with valid JSON?

转载 作者:行者123 更新时间:2023-12-01 04:22:18 25 4
gpt4 key购买 nike

我有一个简单的 ajax 调用:

$.ajax({
url: 'http://localhost:39657/List/Receptacle',
dataType: "json",
success: function(json) { alert("success"); }
});

在 Fiddler 中,整个响应是:

HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
Date: Sat, 18 Feb 2012 07:39:11 GMT
X-AspNet-Version: 4.0.30319
Content-Length: 97
Cache-Control: private
Content-Type: application/json; charset=utf-8
Connection: Close

[{"Selected":false,"Text":"ABC","Value":"3"},{"Selected":false,"Text":"XYZ","Value":"4"}]

所以它似乎有效,但我没有收到警报......

我在这里做错了什么?为什么我的 JSON 无法解析?谢谢。

最佳答案

为什么 url 末尾有 '?callback=?' ?是jsonp吗?是,然后更改 dataType:'jsonp'

编辑

创建错误处理程序

$.ajax({
url: 'localhost:39657/List/' + $(this).val(),
dataType: "json",
success: function(json) {
alert("success");
},
error:function(xhr){
console.log(xhr.responseText);
}
});

看看它是否命中成功处理程序或错误处理程序以及它给出什么错误消息?我不认为 json 解析有问题,因为它是有效的 json 并且解析得很好 look here

<小时/>

根据您遇到的评论推断 CORS blues,作为一项安全功能实现,以防止跨站点脚本攻击您不能仅在客户端将 dataType 设置为 jsonp 来使用 jsonp,服务器端也必须配置,如果它是 Web 服务,您可以设置响应 header 以允许跨域资源共享

var resp = new HttpResponseMessage();
resp.Headers.Add("Access-Control-Allow-Origin","*");

或者,您可以创建一个服务器端代理,并让该代理调用您的其他项目(无论是 Web 服务还是 Web 应用程序),然后将收到的响应返回给客户端

关于jQuery $.ajax 错误 : Parsing JSON Request failed with valid JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9339449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com