执行Cross Origin Put请求有哪些成功的方法?我成功地使用代理发出GET请求并将其放入下拉列表中,如此处所示>> Create Dropdown list from API Query>>但是在制作PUT请求时无法使用相同的流程?
思考?
答案 0 :(得分:1)
通过在javascript中使用代理,我能够成功获得PUT请求才能正常工作。
$.ajaxPrefilter( function (options) {
if (options.crossDomain && jQuery.support.cors) {
var http = (window.location.protocol === 'http:' ? 'http:' : 'https:');
options.url = http + '//cors-anywhere.herokuapp.com/' + options.url;
//options.url = "http://cors.corsproxy.io/url=" + options.url;
}
});
代理建立后,我使用chrome扩展程序(现在是桌面应用程序)Postman来获取PUT HTML代码。这是通过首先让PUT请求在Postman中工作然后选择“代码”链接(在“发送”按钮下面)并从下拉列表中选择“JavaScript Jquery AJAX”来完成的。以下是Postman输出代码的示例。
var settings = {
"async": true,
"crossDomain": true,
"url": "https://[apiurl].com",
"method": "PUT",
"headers": {
"content-type": "text/xml",
"cache-control": "no-cache",
"postman-token": "[token]"
},
"data": "<this_is_the_xml_data_youre_sending>"
}
$.ajax(settings).done(function (response) {
console.log(response);
});
从Postman复制代码后,将代理代码和Postman javascript放入HTML页面并观察PUT请求。