gpt4 book ai didi

javascript - 为什么我的函数变成了一个对象?

转载 作者:行者123 更新时间:2023-11-29 17:51:02 25 4
gpt4 key购买 nike

我的项目中有几个 ajax 请求,因此为了简化我的代码,我创建了一个函数来处理这些请求。

当状态为 == 200 时,我正在传递一个成功函数来加载,但是即使数据被正确发送,我也收到“未捕获类型错误成功不是函数”错误。使用 typeof 我可以看到成功作为一个函数开始,然后显示为一个对象。

enter image description here

这是我的代码

//处理ajax请求的函数

function sendRequest(link, requestType, success, data) {
var request = new XMLHttpRequest(),
url = link;

request.open(requestType, url, true);

request.onload = function () {
if (request.status >= 200 && request.status < 400) {
console.log("success");

var responseText = request.responseText;
console.log(typeof(success));

success(responseText);
} else {
consoloe.log("error");
}
}

request.send(data);
}

//调用函数将成功函数作为参数传递

var jsonText = "json.php";

sendRequest(jsonText, 'GET', function (response) {
var json = JSON.parse(response),
postcodesArray = [],
jsonLength = json.length,
i;

for (i = 0; i < jsonLength; i++) {
postcodesArray.push(json[i].from_postcode);
}

var postcodes = postcodesArray.filter(Boolean),
pstcodeLength = postcodes.length,
n;

for (n = 0; n < pstcodeLength; n++) {
geocodeAddress(postcodes[n]);
}
});

//编辑包含我所有代码的 fiddle https://jsfiddle.net/x1qe73s8/

最佳答案

阅读您的 jsfiddle,您的代码可能正在通过您拥有的 sendLatLng 函数

sendRequest(url, 'POST', null, data);

null 的类型是“object”。

关于javascript - 为什么我的函数变成了一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43804790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com