K..*_*K.. 8 ajax extjs options
我正在一个域上加载我的脚本并发送一些数据POST并使用Ext.Ajax.request()到同一个域.
不知怎的,开发工具告诉我,有一个失败的OPTIONS请求.
Request URL : myurl-internal.com:8090/some/rest/api.php
Request Headers
Access-Control-Request-Headers : origin, x-requested-with, content-type
Access-Control-Request-Method : POST
Origin : http://myurl-internal.com:8090
Run Code Online (Sandbox Code Playgroud)
它既是HTTP而不是HTTPS.相同的端口,相同的主机...我不知道它为什么这样做.服务器无法处理这些内容,因此请求失败,整个系统停止工作.
Bri*_*kau 10
它并不特定于Ext JS - 在其他框架中查看这些相关的线程.这是服务器正确执行CORS标准:
对于可能对用户数据产生副作用的HTTP请求方法(特别是对于GET以外的HTTP方法,或者某些MIME类型的POST用法),规范要求浏览器"预检"请求,从而请求支持的方法.具有HTTP OPTIONS请求标头的服务器,然后,在服务器"批准"时,使用实际的HTTP请求方法发送实际请求.
如果您要使用CORS,则需要能够在服务器上正确处理或忽略这些请求.Ext JS本身并不关心OPTIONS请求 - 您将按预期收到响应,但除非您对它们执行某些操作,否则它们将被忽略(假设服务器实际上允许您尝试执行的任何操作).
如果您不打算使用CORS(听起来您并非故意跨域),那么您需要找出服务器认为原始域不同的原因(我不确定).你也可以通过使用JsonP(通过Ext的JsonP代理)完全绕过CORS.
| 归档时间: |
|
| 查看次数: |
7055 次 |
| 最近记录: |