提问者:小点点

请求的资源ajax jquery phonegap上没有“access-control-allow-origin”头


我试图在ripple仿真器上运行我的phonegap应用程序,并使用jquery中的ajax方法从WebService.asmx调用方法,但得到cors错误:

XMLHttpRequest无法加载https:\rippleapi.herokuapp.com\xhr_proxy?tinyhippos_apikey=abc&tinyhippos_rurl=http%3a//www.my-domain.com/webservice.asmx/selectdata。请求的资源上没有“access-control-allow-origin”标头。因此,不允许访问源“http:\localhost:4400”。响应的HTTP状态代码为503。

  1. 已在服务器端(web.config)提供COR:

我的AJAX方法:

$.ajax({
类型:“post”,
跨域:true,
URL:“http://www.my-domain.com/webservice.asmx/selectdata”,
数据:json.stringify(campaignData),
内容类型:“application/json;charset=utf-8”,
数据类型:“json”,
成功:函数(msg)
{
var response=msg.d;
var resultloop=$.parsejson(响应);

无法解决这一问题,不知道我在哪里做错了什么或遗漏了什么,我必须改变代码,以便它与服务器通信和获取数据。


共2个答案

匿名用户

正在ripple模拟器上运行phonegap应用程序,将跨域代理设置更改为“禁用”,并且运行正常。

匿名用户

您可以在服务器端代码中添加允许的方法(post,delete,等等),也可以使用chrome插件access-control-allow-headers。与php中类似

header("Access-Control-Allow-Origin: http://localhost:8080");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, DELETE, PUT");
header("Access-Control-Allow-Credentials: true");