gpt4 book ai didi

javascript - "Uncaught TypeError: Cannot read property ' toLowerCase ' of undefined"on jsonp 请求

转载 作者:行者123 更新时间:2023-11-30 10:15:30 25 4
gpt4 key购买 nike

我有一个 Node 服务器和来自另一台服务器的应用程序通过 jquery 执行 AJAX jsonp 请求以获取 json 参数数组,但是当我请求数据时,jquery 抛出此错误:

Uncaught TypeError: Cannot read property 'toLowerCase' of undefined 

请求已发送,我得到了响应,但我无法在 javascript 客户端获取数据

Node 服务器:

var my_http = require('http');


var databaseUrl = "leitordecarga"; // "username:password@example.com/mydb"
var collections = ["tables"]
var db = require("mongojs").connect(databaseUrl, collections);

var callback = [];
db.tables.find(function(err,values){
if(err || !values){
console.log('error');
}else{
values.forEach(function(value){
callback.push(value);
});
}
});


my_http = require("http");
my_http.createServer(function(request,response){
response.writeHeader(200, {"Content-Type": "application/json"});
response.write(JSON.stringify(callback));
response.end();
}).listen(8080);

客户端的 Javascript:

$(document).ready(function(){
$.ajax({
url:'http://localhost:8080/mongo.js',
dataType:'jsonp',
type: "GET",
jsonp : "callback",
contentType: "application/jsonp",
success: function(data){
console.log(data);
},
error: function(data){
console.log(data.getResponseHeader());
}
}).done(function( data ) {
console.log(data);
});
});

我使用的是 jquery 2.1.0,但我尝试了其他版本,但错误仍然存​​在

我的问题是如何获取成功子句中的数据

最佳答案

这种情况下的问题似乎是这一行:

console.log(data.getResponseHeader());

您不应该在没有任何参数的情况下调用 getResponseHeader。从技术上讲,错误是 jQuery 在调用 toLowerCase() 之前不检查键是否作为参数给出,但是,如果没有给出参数,实际的 getResponseHeader 实现也会抛出错误。

如果你只想返回所有的响应头,你应该使用:

console.log(data.getAllResponseHeaders())

关于javascript - "Uncaught TypeError: Cannot read property ' toLowerCase ' of undefined"on jsonp 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24044813/

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