Javascript Jquery Ajax请求不起作用

Javascript Jquery Ajax请求不起作用,javascript,jquery,json,parsing,Javascript,Jquery,Json,Parsing,我正试图从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 : fu

我正试图从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);
    }     
});
我的回答是json格式的。就像

{
  "mydata" : "xxxxxxx"
}
当我使用上述ajax请求时,会执行error函数。它显示状态为200,错误为“parsererror”。但是,我的json格式的响应(已验证)。所以,我对这个问题感到困惑


感谢您要求jQuery使用JSON-p,而不是JSON。JSON-P响应如下所示:

callback({
  "mydata" : "xxxxxx"
})
…其中
callback
是在请求的URL上指定的函数名。更多关于

如果请求与发出请求的文档位于同一位置,则可以通过将
数据类型
更改为
“JSON”
来使用JSON


如果它位于不同的来源,这就是为什么要使用JSON-p,那么需要修改服务器端,从URL的查询字符串中提取函数名,然后将函数调用如上所述放入响应中。

我找到了一种方法

JSONP响应必须采用以下形式

testCallback({
  "mydata" : "xxxxxx"
})
请求将是

$j.ajax({
    url: 'https://c.na14.visual.force.com/apex/controlApi?callback=testCallback',
    type : 'POST',
    dataType: 'jsonp',
    crossDomain : true,
    jsonp: false,
    jsonpCallback: 'testCallback',
    success : function (data){
             alert(data.mydata);
    },
    error : function(jqXHR, textStatus, errorThrown) {
        alert('Error is '+textStatus);
    }  
});

如果这是完整的响应,那么它的格式不对