AJAX POST请求在POSTMAN中工作但不在Chrome中

时间:2017-04-18 10:03:00

标签: javascript jquery ajax post postman

我正在尝试制作一个简单的AJAX POST请求。在POSTMAN中执行此请求的工作正常。但是,当我在jQuery中编写代码并尝试发出相同的请求时,我得到了

否'访问控制 - 允许 - 来源'标头出现在请求的资源上。 Origin' file://'因此不允许访问。响应的HTTP状态代码为415。

现在,我必须发出一个POST请求,因此在请求中使用JSONP作为类型无法提供帮助。我无权访问服务器代码来修改它。我的基本理解是,如果POSTMAN可以执行它,那么我也应该能够执行它

3 个答案:

答案 0 :(得分:3)

状态代码是自解释的。 当您发送不受支持的内容类型(例如xml)时,它会从服务器返回415。仔细检查您在代码中传递给post请求的数据类型。

  

415不支持的媒体类型原始服务器拒绝提供服务   请求,因为有效负载的格式不受此支持   目标资源上的方法。

     

格式问题可能是由于指示的请求所致   内容类型或内容编码,或作为检查的结果   数据直接。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/415

答案 1 :(得分:1)

如果它在Postman中工作,我不会自动在浏览器中工作。您仍然可以获得 CORS - 错误。

您还可以检查内容类型,即 HTTP状态415 ,即UNSUPPORTED MEDIA TYPE 。这可能是您的问题,请求中的媒体类型不同。

我还注意到您正在this.my_string += "aaa";投放,也许您应该托管它,以便您从file://开始为您的网站提供服务。

答案 2 :(得分:0)

好的,问题是您是直接从文件运行页面(可能只是双击Windows中的文件),而不是使用服务器。

首先通过服务器访问页面,安装任何服务器,如 apache ,然后通过

访问页面
http://localhost/pagename