ajax保存并关闭,JavaScript Ajax保存结果

我有问题我正在尝试自己做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

$name = "The input is: " . $_POST['name'];

return $name;

?>

这是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");

}

};

如何以我可以在ajax函数调用中使用参数的方式将xmlhttp.responseText保存到arg.success函数参数?我应该使用回调吗?

编辑:谢谢,它有效,但是,它只打印“输入是:”.我该如何解决?

解决方法:

您要调用方法,而不要设置它.

arg.success(xmlhttp.responseText);

标签:ajax,javascript,php

来源: https://codeday.me/bug/20191119/2038738.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值