Jquery Ajax请求不起作用

use*_*776 2 javascript jquery parsing json

我试图从javascript发送jquery ajax请求.我正在使用以下代码,但它无法正常工作.

$j.ajax({
    url: 'https://c.na14.visual.force.com/apex/controlApi',
    type : 'GET',
    dataType: 'jsonp',
    success : function(result){
        alert('Result is '+result);
    },
    error : function(jqXHR, textStatus, errorThrown) {
        alert('status is '+jqXHR.status);
        alert('Error is '+textStatus);
    }     
});
Run Code Online (Sandbox Code Playgroud)

我的回答是json格式.就像是

{
  "mydata" : "xxxxxxx"
}
Run Code Online (Sandbox Code Playgroud)

当我使用上面的ajax请求时,错误函数被执行.它显示状态为200,错误为"parsererror".但是,我的回答采用json格式(经过验证).所以,我对这个问题很困惑.

谢谢

T.J*_*der 7

您已经要求jQuery使用JSON-P,而不是JSON.JSON-P响应看起来像这样:

callback({
  "mydata" : "xxxxxx"
})
Run Code Online (Sandbox Code Playgroud)

...在callback请求的URL上指定的函数名称在哪里.更多关于JSON-P的信息.

如果请求发出请求的文档位于同一源,则可以通过将您更改dataType为使用JSON "json".

如果它位于不同的原点并且这就是您使用JSON-P的原因,则需要修改服务器端以从URL的查询字符串中提取函数的名称,然后将函数调用放入您的响应中,如上所述.