Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript在异步环境中发送post数据_Javascript_Php_Asynchronous - Fatal编程技术网

Javascript在异步环境中发送post数据

Javascript在异步环境中发送post数据,javascript,php,asynchronous,Javascript,Php,Asynchronous,所以我的问题是,我从另一台服务器获取数据,我试图将接收到的数据发送到同一个url,以便能够在PHP中检索数据。我用fetch()。每次我的xhr请求由于未知原因被浏览器取消时。这是我目前的代码: function generateCodes() { var someVAR = document.getElementById("length").value; var someResult = createDataPromise("someVAR=" + someVAR);

所以我的问题是,我从另一台服务器获取数据,我试图将接收到的数据发送到同一个url,以便能够在PHP中检索数据。我用
fetch()。每次我的xhr请求由于未知原因被浏览器取消时。这是我目前的代码:

function generateCodes()
    {
    var someVAR = document.getElementById("length").value;
    var someResult = createDataPromise("someVAR=" + someVAR);

    someResult.then((data) => 
        {
        var jsonData = JSON.stringify(data);

        $.ajax(
            {
            url: "sameURL",
            method: "post",
            data: jsonData,
            success: function(data)
                {
                console.log(data);
                }
            });
        });

    someResult.catch((error) =>
        {
        console.error("Server responded with error: " + error);
        });
    }

function createDataPromise(data)
    {
    return new Promise((resolve, reject) => 
        {
        const xhr = new XMLHttpRequest();
        xhr.open("POST", "externalServer");
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        xhr.onload = () => resolve(JSON.parse(xhr.responseText));
        xhr.onerror = () => reject(xhr.statusText);
        xhr.send(data);
        });
    }

是否有其他可能的解决方案来访问PHP中的javascript对象?(无法转换变量,因为javascript位于纯js文件中)

浏览器可能因为CORS而阻止您的请求。将您的请求修改为符合CORS或确保远程响应包含
访问控制允许源:
标题将解决此问题。 确保您的请求被认为是一个请求,这将消除它被飞行前请求拒绝的可能性,因为您只需要发送数据,而不需要在javascript中接收数据


谢谢您的评论,但它没有解决我的问题,仍然是相同的问题。Chrome仍然将我的xhr请求标记为已取消。Chrome在开发者工具的控制台和网络选项卡上到底说了什么?