现在,我正在尝试发布帖子:
https://aleapisoap.azure-api.net/httpbin/listSearchFields
我需要一个这样的身体:
{
"listSearchFields": {
"email": "sample"
}
}
我在邮递员中尝试了此方法,并且可以使用,但是在JavaScript中使用此代码无效。
$.ajax({
url: 'https://aleapisoap.azure-api.net/httpbin/listSearchFields',
headers: {
'Content-Type':'application/json',
'Cache-Control':'no-cache',
'Ocp-Apim-Trace':'true',
'Ocp-Apim-Subscription-Key':'19f2a7fd474840bfb5fc729cd97b7335'
},
type: 'POST',
dataType: 'jsonp',
data: '{"listSearchFields":{"email":"sample"}}',
success: function(data){
console.log('succes: '+data);
}
});
这是错误:
net :: ERR_ABORTED 404(找不到资源)
答案 0 :(得分:0)
$。ajax()调用中的标题对我来说是正确的。我认为您期望的https://aleapisoap.azure-api.net/httpbin/处不存在“ listSearchFields”端点。首先检查您的拼写-如果您正确拼写了“ listSearchFields”,则必须更深入地研究找出找不到它的原因。
答案 1 :(得分:0)
dataType: 'jsonp',
JSONP请求与设置自定义请求标头或发出POST请求不兼容。它们通过注入具有<script>
属性的src
元素(发出GET请求)来工作。
如果您需要发出POST请求,请不要使用该dataType
。您可能需要'json'
。
JSONP是一种黑客,用于在CORS可用之前解决Same Origin Policy的问题。您可能需要采取其他步骤来确保端点对您的来源可用。