我使用jQuery来获取带有ajax函数的php脚本结果。问题是php脚本在另一个域上,所以我应该使用“jsonp”作为返回的dataType,但是php脚本返回json,而不是jsonp(可能脚本不正确),我得到语法错误。我该怎么处理?我想,在ajax-function处理它并引发错误之前,我可以以某种方式获取json字符串,是否可能?
这是我的ajax功能:
$.ajax(
{
type: "POST",
dataType: "jsonp",
url: "http://www.pecom.ru/bitrix/components/pecom/calc/ajax.php",
data: res,
error: function (xhr, ajaxOptions, thrownError) {
alert("error: " + xhr.status);
},
success: function (data) {
alert("Data Loaded: " + data)
}
}
)
谢谢!
答案 0 :(得分:0)
简短的回答是,你不能。
更长的一点是你必须设置某种代理:从你控制的机器在服务器端发出请求,将结果转换为适当的JSONP,然后通过AJAX连接到该服务器。 (或者,在目标服务器支持CORS的极不可能的情况下,您可以使用它而不是JSONP。)