Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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 读取ajax post响应时出现问题_Javascript_Php_Ajax - Fatal编程技术网

Javascript 读取ajax post响应时出现问题

Javascript 读取ajax post响应时出现问题,javascript,php,ajax,Javascript,Php,Ajax,我正在一个网站上工作,我正在尝试使用ajax连接JavaScript和php。我在阅读ajax响应时遇到问题 我有一个php脚本,其中包含以下代码: <?php echo "1"; loginUser(username, password) { return new Promise((resolve, reject) => { var request = require('ajax-request'); reques

我正在一个网站上工作,我正在尝试使用ajax连接JavaScript和php。我在阅读ajax响应时遇到问题

我有一个php脚本,其中包含以下代码:

<?php
echo "1";
loginUser(username, password) {
        return new Promise((resolve, reject) => {

            var request = require('ajax-request');
            request.post(
                {
                    url: 'http://swiftservice.psoftwarestudio.com/Admin.php',
                    data: {
                        username: username,
                        password: password
                    },
                    headers: {}
                }
                , (data) => {
                    resolve(data);
                }
            );
        });
    }
调试时,数据总是空的。我对网络编程非常陌生,尤其是ajax。
我希望有人能指出错误所在,谢谢。

您需要将从AJAX调用返回的
数据解析为JSON对象,因为您得到的是它的字符串表示:

loginUser(username, password) {
        return new Promise((resolve, reject) => {

            var request = require('ajax-request');
            request.post(
                {
                    url: 'http://swiftservice.psoftwarestudio.com/Admin.php',
                    data: {
                        username: username,
                        password: password
                    },
                    headers: {}
                }
                , (data) => {
                    resolve(JSON.parse(data));
                }
            );
        });
    }

您需要将从AJAX调用返回的
数据
解析为JSON对象,因为您得到的是它的字符串表示:

loginUser(username, password) {
        return new Promise((resolve, reject) => {

            var request = require('ajax-request');
            request.post(
                {
                    url: 'http://swiftservice.psoftwarestudio.com/Admin.php',
                    data: {
                        username: username,
                        password: password
                    },
                    headers: {}
                }
                , (data) => {
                    resolve(JSON.parse(data));
                }
            );
        });
    }

我查看了
ajax请求
模块的文档,发现回调包含3个参数:
function(err,res,body){


可能需要的数据在第三个?

我查看了
ajax请求
模块的文档,注意到回调包含3个参数:
函数(err,res,body){



也许所需的数据在第三行?

您查看过浏览器的开发工具吗?@Anton没有错误,当我将数据放入watch中,并在我调用resolve时停在线路上,它表示数据为空,仅此而已。如果是问题,请发送标题,因为这是一种很好的做法,例如:标题:{'Accept':'application/json','Content-Type':'application/json',}。并尝试从服务器端返回json。尝试使用chrome中的Source tab调试代码。您查看过浏览器的开发工具吗?@Anton没有错误,当我将数据放入watch时,并在我调用resolve时停止,它显示数据为空,仅此而已。如果是问题,请发送标题,因为这是一个很好的做法,如:标题:{'Accept':'application/json','Content-Type':'application/json',}。并尝试从服务器端返回json。尝试使用chrome中的Source选项卡调试您的代码如果他为空,这不是问题:)@MarkoMackic刚刚意识到它是节点代码…>。数据中的用户名和密码,我是否丢失了“”有吗?@PetarMijović不,你没有。在JS中,你可以构建JSON对象而不需要quotes@PetarMijović如果您在Localhost上,请求可能有问题,或者您的PHP不接受JSON,无论如何,看看API测试,您会发现您需要什么。如果他为null,则不是问题:)@MarkoMackic刚刚意识到它是节点代码…>。数据中的用户名和密码,我是否丢失“”有吗?@PetarMijović不,你没有。在JS中,你可以构建JSON对象而不需要quotes@PetarMijović如果您在Localhost上,请求可能有问题,或者您的PHP不接受JSON,无论如何,看看API测试,您会发现您需要什么我只使用了一个参数的原因是我看到了这里的帖子