【发布时间】:2016-02-18 16:25:51
【问题描述】:
我正在对网络服务进行以下调用:
$.ajax({
dataType:'json',
cache:false,
type: "GET",
url: url,
success: function (data) {
alert("success");
},
error: function (xhr, ajaxOptions, thrownError){
alert('Failed to subscribe.');
}
});
webservice 被命中并且肯定返回 json - 我可以通过浏览器点击它并得到我期望的结果。在我的站点中,总是调用错误函数。
使用 Fiddler 我可以看到有 200 个结果 - 我唯一注意到的是在 fiddler 的响应中说
响应已编码,可能需要在检查前进行解码。点击这里进行转换。
当我点击它时,响应会从一堆随机符号变成我预期的 json。
在谷歌上搜索后,我看到了将contentType: "application/json;charset=UTF-8", 添加到我的通话中的建议。
这完全阻止了我的网络服务功能。
我也尝试将其更改为 POST,只是想看看这是否是问题...仍然不起作用。
谁能指出我做错了什么?
编辑: 我刚刚注意到我在 Chrome 中得到了这个
拒绝设置不安全的标头“Accept-Encoding” XMLHttpRequest 无法加载 http://localhost:57631/Api/Products/SubscribeEmailMeWhenAvailable/203/wrfw@wrwq.com?_=1447757623275。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:50217' 因此不允许访问。
【问题讨论】:
-
js小提琴链接在哪里?
-
去掉dataType试试,让jquery决定。
-
在错误函数中执行 console.log(throwError) 并检查它给出了什么错误
-
throwError 是一个空字符串""
-
@Sandeeproop - 只是想尝试一下 - 这个项目是一个狗,需要 5 分钟来构建......
标签: javascript jquery ajax web-services