在我们公司,我们有一个代理服务器向手机发送短信,由于一些跨域问题,我有问题得到响应iguess ...因为该应用程序在myCompanyurl.com上 而短信应用程序在myProxyCompanyurl.com上
jQuery.get("http://myproxycompanyurl.com/proxy.php?type=text&mesg=Hello&output=json&number=000000000&callback=?",
function(response) {
console.log('test');
console.log(response);
}
);
在我的调试控制台中:
> test
> Failed to load resource: cancelled
如果我使用getJSON
jQuery.getJSON("http://myproxycompanyurl.com/proxy.php?type=text&mesg=Hello&output=json&number=000000000&callback=?",
function(response) {
console.log('test');
console.log(response);
}
);
在我的调试控制台中:
> Parse Error
关键是在两种情况下短信应用程序都可以...我在手机上收到短信,但问题是我无法得到回复,所以我可以向用户发送消息/提醒,一切都很顺利。 ..
答案 0 :(得分:1)
MyProxyCompanyUrl.com在“JSON”中的响应将导致XMLHttpRequest无法加载http://pubapi.cryptsy.com/api.php?method=marketdatav2。由于跨域问题,请求的资源上不存在“Access-Control-Allow-Origin”标头。
您可以更改代理网站以返回“JSONP”,而无需任何问题即可加载
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://myproxycompanyurl.com/proxy.php?type=text&mesg=Hello&output=json&number=000000000&callback=?',
dataType: 'jsonp',
success: function (data) {
console.log(data);
}
});
});
如果您无权访问代理网站,则可以利用第三方为您执行此操作。例如:jsonp.guffa.com,此网站的代理jsonp网址为http://jsonp.guffa.com/Proxy.ashx?url=http://myproxycompanyurl.com/proxy.php?type=text&mesg=Hello&output=json&number=000000000&callback=?
答案 1 :(得分:-1)
嗯,#2中的错误消息说明了一切......你的服务器返回了无效的JSON,因此无法解析。
看一下这样的实际响应文本:http://json.parser.online.fr/并查看问题所在。