【问题标题】:Consume Restful request JSON使用 Restful 请求 JSON
【发布时间】:2017-04-30 05:44:07
【问题描述】:

当我测试下面的代码时它只会失败

有什么想法吗?链接正常

$.ajax({
  url: 'http://ulacit3352.cloudapp.net/Login/webresources/generic/search/gera',
  type: 'GET',
  datatype: 'json',
  success: function(data) {
    alert("works")
  },
  error: function() {
    alert("it does not");
  }
});

I get this on Chrome:

【问题讨论】:

  • 当你说失败时,你能描述更多吗?什么失败了?你有什么错误吗?
  • 在我只是测试的脚本上,我没有收到成功消息,而是收到错误消息。谢谢
  • 实施正确的错误处理 - 显示错误,查看控制台。由于 CORS 问题,您可能会被拒绝访问 - 您无法从计算机上的文件运行上述内容,也无法从其他域运行它
  • 您是从 cloudapp.net 外部调用此 URL 吗?
  • 是的,我正在用邮递员测试它,它给了我正确的响应

标签: javascript jquery json ajax rest


【解决方案1】:

链接的响应不是“json”类型,而是纯文本,因此无法解析。你应该改成

dataType: 'text',

另外,对于普通的ajax,你需要确保url在网页的同一个域中,这意味着代码也应该位于http://ulacit3352.cloudapp.net/。否则,您应该寻求“jsonp”或(更好的)一些服务器端解决方案,例如设置Access-Control-Allow-Origin 或将您的服务器作为请求的代理。

【讨论】:

  • 谢谢你,但它仍然进入错误路径
  • 问题是,如果我用 localhost url 测试它也不起作用
【解决方案2】:

请求的 url 是 http 上的服务器,这将导致 This request has been blocked; the content must be served over HTTPS 错误,因为连接已打开以进行窃听和中间人 (MITM) 攻击。如果 url 接受https 请求,最好使用https

仍然有办法绕过这个问题。你可以查看这个LINK

【讨论】:

  • 谢谢,我会试试的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
  • 2013-05-25
  • 2016-02-13
  • 2018-01-03
  • 1970-01-01
  • 2021-01-29
相关资源
最近更新 更多