javascript - Jquery Ajax 请求不起作用

标签 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 : function(jqXHR, textStatus, errorThrown) {
        alert('status is '+jqXHR.status);
        alert('Error is '+textStatus);
    }     
});

我的回复是 json 格式。就像

{
  "mydata" : "xxxxxxx"
}

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

谢谢

最佳答案

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

callback({
  "mydata" : "xxxxxx"
})

...其中 callback 是请求 URL 上指定的函数名称。更多关于JSON-P here .

如果请求位于 same origin作为发出请求的文档,您可以通过将 dataType 更改为 "json" 来使用 JSON。

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

关于javascript - Jquery Ajax 请求不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817195/

相关文章:

javascript - jQuery 水平和垂直定位脚本在 IE8 中不起作用

javascript - 悬停过渡在加载后第一次点击时不起作用,但在此之后有效?

javascript - React 中的 <div> 标签内的表格无法正确呈现

javascript - 如何在 JavaScript 中只舍入 float 数字?

javascript - 以输入图像类型选择图片并加载到图像标签中

c# - 有时是数组有时是对象时反序列化JSON

javascript - 如何使用 jquery 扫描 JSON 以确定某个字符串的实例数量?

c# - 如何按 OData 中的嵌套属性进行过滤?

javascript - 在模型图像下方添加文本框

javascript - 在 Javascript 中,为什么在元素上设置 outerHTML 会将其 parentNode 设置为 'null' ?