当前位置: 首页 > 知识库问答 >
问题:

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

钱俊楚
2023-03-14

我试图在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:

webserver>

我的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个答案

鲜于致远
2023-03-14

您可以在服务器端代码中添加允许的方法(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");
顾恺
2023-03-14

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

 类似资料: