我似乎没有发现任何漏端输入。这是我收到的错误:
未捕获(在promise)语法错误:输入在fetch.then.response意外结束(InventoryOnHand.js:33)
下面是我的代码:我有一个url值。
fetch(url + "GetItemMasterList", { 'mode': 'no-cors' })
.then(response => response.json())
.then(function (data) {
console.log(data)
});
这是CORS政策的一个众所周知的问题。要克服这个问题,您需要访问服务器端API的权限。特别是,您必须在php或其他服务器endpoint的标题中添加一行:
<?php
header('Access-Control-Allow-Origin: *');
//or
header('Access-Control-Allow-Origin: http://example.com');
// Reading JSON POST using PHP
$json = file_get_contents('php://input');
$jsonObj = json_decode($json);
// Use $jsonObj
print_r($jsonObj->message);
...
// End php
?>
此外,请确保服务器endpoint的标头中没有:
header("Access-Control-Allow-Credentials" : true);
带POST请求的工作提取代码的模型为:
const data = {
optPost: 'myAPI',
message: 'We make a research of fetch'
};
const endpoint = 'http://example.com/php/phpGetPost.php';
fetch(endpoint, {
method: 'POST',
body: JSON.stringify(data)
})
.then((resp) => resp.json())
.then(function(response) {
console.info('fetch()', response);
return response;
});