使用 fetch API 与 PHP 的 CORS “SyntaxError: Unexpected

/*

* @version: 1.0.0

* @author: Murod Parmonov

* @licence: MIT

*/


class HTTP{



    // post request

    post(url, data){

        return new Promise((resolve, reject) => {

                fetch(url, {

                    method: 'POST',

                    headers: {

                        'Content-type': 'application/json'

                    },

                    body: JSON.stringify(data),

                    'mode': 'no-cors'

                }).

                **then(response => response.json()).then(data => resolve(data)).

                catch(err => reject(err));**

            }

        );

    }




}


const ht = new HTTP;  // http  fetch API class

ht.post('https://correctserverurl.com/', data).then(resData => console.log(resData))    .catch(err => console.log(err));

我从服务器得到的错误 ,js 代码中用双星标记的行是行错误。


<?php

header('Access-Control-Allow-Origin: correctdomain.com');

header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");

header("Access-Control-Allow-Headers:  X-Requested-With");


$ping = file_get_contents("php://input");

file_put_contents('ping.json', $ping);

$ping = json_decode($ping, 1);

echo json_encode($data = [

    'status' => 'success'

]);

我包括了整个类的 fetch API,即使我认为它是不必要的。我想我提供了所需的每一个细节。我确保代码可以在其他服务器上运行,但仅在我的服务器上出现问题。我在这里做错了什么?我应该怎么做才能解决这个问题?


万千封印
浏览 229回答 1
1回答

qq_花开花谢_0

header('Access-Control-Allow-Headers: X-PINGOTHER, Content-Type');&nbsp;实际上,这值得做一点研究。魔术线帮助我解决了同样的问题。
打开App,查看更多内容
随时随地看视频慕课网APP