REST请求从应用程序工作,但不是从javascript
REST request from app works, but not from javascript
我正在构建一个应用程序,必须通过请求在远程web服务中获取和设置数据。当我使用jQuery GET请求时,它工作得很好,我可以从服务请求数据而没有任何问题,但是当我使用PUT时,我得到一些错误:
OPTIONS http://myurl.com 501(不支持的方法('选项'))
OPTIONS http://myurl.com Access-Control-Allow-Origin不允许Origin为null。
我已经尝试了几乎所有的方法来让它工作,但它不会工作。我下载了一个名为REST控制台的chrome应用程序,它可以自定义REST请求。奇怪的是,我可以通过该应用程序与服务器交互,但不能通过我的javascript!
这是javascript:
$.ajax({
url: 'http://myurl.com',
type: 'PUT',
data: '<time>16:00</time>',
success: function(data) { alert(data); }
});
谁能告诉我这是怎么回事? 首先要确保从web服务器提供运行脚本的页面,而不是直接从文件系统提供。
我猜你在http://myurl.com
的服务是在一个不同的主机名的主机名,你的页面被服务?为了在这种情况下工作,你需要实现HTTP头来支持跨域资源共享。
你在http://myurl.com
上的服务需要处理一个HTTP OPTIONS
请求,响应应该是一组HTTP头(没有内容),如下所示:
Access-Control-Allow-Origin: http://url-of-page-with-javascript/
还可以指定Access-Control-Allow-Credentials
、Access-Control-Allow-Headers
和Access-Control-Allow-Methods
。
当您的服务器响应PUT
请求时,您还需要添加具有相同值的相同头-显然内容也将包含在此响应中
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- 我可以'不要让Javascript工作不正常
- 如何让我的html5功能不兼容警告使用javascript工作
- Excel Web Services 电子邮件 JavaScript 工作表
- 用于Google Fusion Table层的Javascript工作,但试图整理代码
- Bootstrap:如何附加一个类,并且仍然有BS Javascript工作
- JavaScript 工作队列
- JavaScript工作,直到我添加这个&&陈述
- 为什么不'在CasperJS中没有简单的JavaScript工作
- 如何"递归AJAX回调”;在JavaScript工作中
- 基本验证javascript工作不正常
- 需要帮助让这个字符串的Javascript工作
- HTML和JavaScript工作不正常
- 下拉菜单无法从CSS或Javascript工作
- 需要从erb生成一个非常特定的html来让javascript工作
- 如果javascript代码段未使用,它将阻止其他javascript工作
- 将内联事件处理程序移动到chrome扩展的javascript工作表
- 阻止其他Javascript工作的Javascript
- iframe阻止javascript工作
- 无法获取切换函数(JavaScript工作)