Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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保存结果_Javascript_Php_Ajax - Fatal编程技术网

JavaScript Ajax保存结果

JavaScript Ajax保存结果,javascript,php,ajax,Javascript,Php,Ajax,我有个问题。我正在尝试自己做ajax,但在保存ajax调用的结果时遇到了问题。我希望它能像jQuery一样运行,或者类似地运行。 所以,我有一个名为ajax的函数,带有I参数,这个参数是一个具有如下属性的对象:方法、url、异步、数据和成功。。。 当我调用ajax函数时,除了成功之外,我没有任何问题。。我想要它就像jQuery一样(不要问我为什么不想使用jQ)。所以我想要这个 ajax({ method: "POST", url: "ajax.php", async: f

我有个问题。我正在尝试自己做ajax,但在保存ajax调用的结果时遇到了问题。我希望它能像jQuery一样运行,或者类似地运行。 所以,我有一个名为ajax的函数,带有I参数,这个参数是一个具有如下属性的对象:方法、url、异步、数据和成功。。。 当我调用ajax函数时,除了成功之外,我没有任何问题。。我想要它就像jQuery一样(不要问我为什么不想使用jQ)。所以我想要这个

ajax({
    method: "POST",
    url: "ajax.php",
    async: false,
    data: "name=something",
    success: function(result) {
         console.log(result);
    }
});
在ajax函数的定义中,我有一个将结果保存到参数的问题,这里就使用它

这里是ajax.php


以下是ajax函数的定义:

var ajax = function (arg) {
    if (typeof arg.method !== "undefined" && typeof arg.url !== "undefined" && typeof arg.async !== "undefined" 
        && typeof arg.success !== "undefined" && typeof arg.data !== "undefined") {

        var xmlhttp, i = 0,
        versions = [
            "MSXML2.XmlHttp.6.0",
            "MSXML2.XmlHttp.5.0",   
            "MSXML2.XmlHttp.4.0",  
            "MSXML2.XmlHttp.3.0",   
            "MSXML2.XmlHttp.2.0",  
            "Microsoft.XmlHttp"
        ];

        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        } else {
            for ( ; i < versions.length; i++) {
                try {
                    xmlhttp = new ActiveXObject(versions[i]); break;
                } catch (e) { }
            }
        }

        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == XMLHttpRequest.DONE) {
                if (xmlhttp.status == 200) {
                    /* ////////////////////////////////////////////
                                  HERE I HAVE PROBLEM
                     /////////////////////////////////////////////*/

                     // this is obviously wrong (I know it is)
                     arg.success = function (something) {
                           something = xmlhttp.responseText;
                     }
                } else if (xmlhttp.status == 400) {
                    console.log("There was an error 400");
                } else {
                    console.log("UNSUCCESSFUL");
                }
            }
        }

        xmlhttp.open(arg.method, arg.url, arg.async);
        xmlhttp.send(arg.data);
        console.log("Method: " + arg.method + "\nURL: " + arg.url + "\nAsync: " + arg.async + "\nData: " + arg.data + "\n");
    }
};
var ajax=function(arg){
if(typeof arg.method!=“未定义”&&typeof arg.url!=“未定义”&&typeof arg.async!=“未定义”
&&typeof arg.success!=“未定义”&&typeof arg.data!=“未定义”){
var xmlhttp,i=0,
版本=[
“MSXML2.XmlHttp.6.0”,
“MSXML2.XmlHttp.5.0”,
“MSXML2.XmlHttp.4.0”,
“MSXML2.XmlHttp.3.0”,
“MSXML2.XmlHttp.2.0”,
“Microsoft.XmlHttp”
];
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}否则{
对于(;i
如何将
xmlhttp.responseText
保存到
arg.success
函数参数,以便在ajax函数调用中使用该参数?我应该使用回调吗


编辑:谢谢,它可以工作,但它只打印“输入是:”。如何修复它?

您想调用该方法,而不是设置它

arg.success(xmlhttp.responseText);
var ajax=function(arg){
if(typeof arg.method!=“未定义”&&typeof arg.url!=“未定义”&&typeof arg.async!=“未定义”
&&typeof arg.success!=“未定义”&&typeof arg.data!=“未定义”){
var xmlhttp,i=0,
版本=[
“MSXML2.XmlHttp.6.0”,
“MSXML2.XmlHttp.5.0”,
“MSXML2.XmlHttp.4.0”,
“MSXML2.XmlHttp.3.0”,
“MSXML2.XmlHttp.2.0”,
“Microsoft.XmlHttp”
];
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}否则{
对于(;i
如果您获得状态200,并且有来自服务器的数据

带有回调功能:如果需要返回某些内容,可以使用回调功能

var ajax = function (arg) {
    if (typeof arg.method !== "undefined" && typeof arg.url !== "undefined" && typeof arg.async !== "undefined" 
        && typeof arg.success !== "undefined" && typeof arg.data !== "undefined") {
        var xmlhttp, i = 0,
        versions = [
            "MSXML2.XmlHttp.6.0",
            "MSXML2.XmlHttp.5.0",   
            "MSXML2.XmlHttp.4.0",  
            "MSXML2.XmlHttp.3.0",   
            "MSXML2.XmlHttp.2.0",  
            "Microsoft.XmlHttp"
        ];

        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        } else {
            for ( ; i < versions.length; i++) {
                try {
                    xmlhttp = new ActiveXObject(versions[i]); break;
                } catch (e) { }
            }
        }

        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == XMLHttpRequest.DONE) {
                if (xmlhttp.status == 200) {
                    var Success = function (xmlhttp.responseText);
                    alert(Success); 
                } else if (xmlhttp.status == 400) {
                    console.log("There was an error 400");
                } else {
                    console.log("UNSUCCESSFUL");
                }
            }
        }

        xmlhttp.open(arg.method, arg.url, arg.async);
        xmlhttp.send(arg.data);
        console.log("Method: " + arg.method + "\nURL: " + arg.url + "\nAsync: " + arg.async + "\nData: " + arg.data + "\n");
    }
};

function Success(e)
{
alert(e);
retrun e;
}
var ajax=function(arg){
if(typeof arg.method!=“未定义”&&typeof arg.url!=“未定义”&&typeof arg.async!=“未定义”
&&typeof arg.success!=“未定义”&&typeof arg.data!=“未定义”){
var xmlhttp,i=0,
版本=[
“MSXML2.XmlHttp.6.0”,
“MSXML2.XmlHttp.5.0”,
“MSXML2.XmlHttp.4.0”,
“MSXML2.XmlHttp.3.0”,
“MSXML2.XmlHttp.2.0”,
“Microsoft.XmlHttp”
];
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}否则{
对于(;ivar ajax = function (arg) {
    if (typeof arg.method !== "undefined" && typeof arg.url !== "undefined" && typeof arg.async !== "undefined" 
        && typeof arg.success !== "undefined" && typeof arg.data !== "undefined") {
        var xmlhttp, i = 0,
        versions = [
            "MSXML2.XmlHttp.6.0",
            "MSXML2.XmlHttp.5.0",   
            "MSXML2.XmlHttp.4.0",  
            "MSXML2.XmlHttp.3.0",   
            "MSXML2.XmlHttp.2.0",  
            "Microsoft.XmlHttp"
        ];

        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        } else {
            for ( ; i < versions.length; i++) {
                try {
                    xmlhttp = new ActiveXObject(versions[i]); break;
                } catch (e) { }
            }
        }

        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == XMLHttpRequest.DONE) {
                if (xmlhttp.status == 200) {
                    var Success = function (xmlhttp.responseText);
                    alert(Success); 
                } else if (xmlhttp.status == 400) {
                    console.log("There was an error 400");
                } else {
                    console.log("UNSUCCESSFUL");
                }
            }
        }

        xmlhttp.open(arg.method, arg.url, arg.async);
        xmlhttp.send(arg.data);
        console.log("Method: " + arg.method + "\nURL: " + arg.url + "\nAsync: " + arg.async + "\nData: " + arg.data + "\n");
    }
};

function Success(e)
{
alert(e);
retrun e;
}
var ajax = function (arg) {
if (typeof arg.method !== "undefined" && typeof arg.url !== "undefined" && typeof arg.async !== "undefined" 
    && typeof arg.success !== "undefined" && typeof arg.data !== "undefined") {
    var xmlhttp, i = 0,
    versions = [
        "MSXML2.XmlHttp.6.0",
        "MSXML2.XmlHttp.5.0",   
        "MSXML2.XmlHttp.4.0",  
        "MSXML2.XmlHttp.3.0",   
        "MSXML2.XmlHttp.2.0",  
        "Microsoft.XmlHttp"
    ];

    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        for ( ; i < versions.length; i++) {
            try {
                xmlhttp = new ActiveXObject(versions[i]); break;
            } catch (e) { }
        }
    }

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == XMLHttpRequest.DONE) {
            if (xmlhttp.status == 200) {
                alert(xmlhttp.responseText);

            } else if (xmlhttp.status == 400) {
                console.log("There was an error 400");
            } else {
                console.log("UNSUCCESSFUL");
            }
        }
    }

    xmlhttp.open(arg.method, arg.url, arg.async);
    xmlhttp.send(arg.data);
    console.log("Method: " + arg.method + "\nURL: " + arg.url + "\nAsync: " + arg.async + "\nData: " + arg.data + "\n");
}
};