我的ajax代码是
$.ajax({
type: 'GET',
dataType: "jsonp",
processData: false,
crossDomain: true,
jsonp: false,
url: "http://someotherdomain.com/service.svc",
success: function (responseData, textStatus, jqXHR) {
console.log("in");
},
error: function (responseData, textStatus, errorThrown) {
alert('POST failed.');
}
});
Run Code Online (Sandbox Code Playgroud)
这是一个跨域的ajax请求.
我得到了正确的请求响应,同时用firebug检查我可以看到响应.
这是我在firebug响应中以及通过Web浏览器访问此URL时的响应
{"AuthenticateUserResult":"{\"PKPersonId\":1234,\"Salutation\":null,\"FirstName\":\"Miqdad\",\"LastName\":\"Kumar\",\"Designation\":null,\"Profile\":\"\",\"PhotoPath\":\"\/UploadFiles\/\"}"}
Run Code Online (Sandbox Code Playgroud)
但我收到了错误
SyntaxError: invalid label
{"AuthenticateUserResult":"{\"PKPersonId\":8970,\"Salutation\
Run Code Online (Sandbox Code Playgroud)
我是否需要使用任何其他方法来使其工作.我想在phonegap + jquery移动应用程序中实现这一点.
此外,我没有任何访问Web服务的权限
如果我禁用Chrome网络安全,它工作正常
我试图从输出以下JSON数据的URL获取JSON数据:
[
{
"belief_desc":"Jesus Died For Your Sins",
"0":"Jesus Died For Your Sins"
},
{
"belief_desc":"People Are Sinful",
"0":"People Are Sinful"
},
{
"belief_desc":"God Loves You",
"0":"God Loves You"
},
{
"belief_desc":"We Must Receive Christ",
"0":"We Must Receive Christ"
}
]
Run Code Online (Sandbox Code Playgroud)
(注意:它仅在此问题中格式化以便于阅读.)
现在我试图使用这个简单的jQuery脚本解析它:
<script>
var url = "http://mySite.com/data.json";
$.getJSON(url, function(data){
alert(data);
});
</script>
Run Code Online (Sandbox Code Playgroud)
我没有从URL获取数据,因为警报不会显示.关于为什么这不起作用的任何想法?