【问题标题】:ajax call to webservice always results in error [duplicate]对webservice的ajax调用总是导致错误[重复]
【发布时间】: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


【解决方案1】:

此消息似乎与 gzip 压缩有关。

你试过了吗?

headers: { "Accept-Encoding" : "gzip,deflate,sdch" } 

结果:

$.ajax({
    headers: { "Accept-Encoding" : "gzip,deflate,sdch" } 
    contentType: "application/json; charset=utf-8",
    dataType:'json',
    cache:false,
    type: "GET",
    url: url,
    success: function (data) {
        alert("success");            
    },
    error: function (xhr, ajaxOptions, thrownError){
        alert('Failed to subscribe.');
    }  
});            

【讨论】:

  • 您好,刚刚试过,但没有任何区别。
  • 嗨,看看我的编辑(修改了标题并添加了 contentType)
  • 当我更改为上述内容时,我收到此错误A public action method 'SubscribeEmailMeWhenAvailable' was not found on controller 'Website.Areas.Api.Controllers.ProductsController'.
  • 抱歉,不知道这个0_o
  • 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多