我正在使用jQuery从csv中提取数据。请求成功(在控制台中成功!!)我可以在打印对象时看到responseText字段中的数据,但是我无法打印data.responseText(在控制台中显示为“未定义”)。
window.onload = function(){
console.log("start");
var data = $.ajax({url:"http://localhost/bootstrap/data/930.csv",success:function(){
console.log("Success!!");
}()
});
console.log(data);
console.log(data.responseText);
如何访问responseText进行转换?
编辑:
每个评论更新了我的代码以强制同步并修改变量以更好地遵循它们。我仍对结果感到惊讶。
console.log("start");
var ajaxData = $.ajax({url:"http://localhost/bootstrap/data/930.csv",async:false,success:function(dataReturned){
console.log("Success!!"); //Success!!
console.log(dataReturned); //Returns my csv data
console.log(dataReturned.responseText); //undefined
}
});
console.log(ajaxData); //Returns a jQuery object that included my csv data
console.log(ajaxData.status); // Returns 200
console.log(ajaxData.responseText); //Returns my data (same as dataReturned in success function)
所以我想我也错过了jQuery对象在完成$ .ajax调用完成之前没有创建和可用,但响应可以更快地获得。
感谢您的帮助。
答案 0 :(得分:0)
请了解异步方法。您需要使用回调。你试图做的就是在挂断电话后立即吃一块送货披萨。你需要等到这个人交付它。
$.ajax({url:"http://localhost/bootstrap/data/930.csv",success:function(data, status, xhr){
console.log("Success!!");
console.log(data);
console.log(xhr.responseText);
}
});