gpt4 book ai didi

javascript - JQuery Promise 在 ComponentDidMount React.JS 上失败

转载 作者:行者123 更新时间:2023-11-28 06:01:24 25 4
gpt4 key购买 nike

在我的组件的 ComponentDidMount 生命周期方法中,我尝试启动 AJAX 请求以获取客户端数据(加载应用程序时数据需要可用)。经过检查,我注意到我的 promise 链始终遵循 fail 属性。这很令人困惑,因为通过 Chrome 开发者工具进行检查后,请求已发出,数据已成功返回到 Promise(请参见屏幕截图)。我怀疑这可能是我的组件加载速度,我尝试了一个 componentWillMount 生命周期方法,它产生了相同的结果。我通过 AJAX 请求同步地很好地检索数据,但现在我正在尝试使用异步功能来改进代码。

尝试了新代码:

componentDidMount: function(){ 
var returnedClassesString;

var user = window.globalValue;

function getQueries(user){
returnedClassesString = $.ajax("/portals/0/js/get_classes_front.aspx?userName="+user).done(function(data,err){
console.log('good' + data);
}).fail(function(data,err){
console.log(err);
});

}

getQueries(user);



},

componentDidMount方法:

componentDidMount: function(){ 
var returnedClassesString;

var user = window.globalValue;

$.when($.ajax("/portals/0/js/get_classes_front.aspx?userName="+user)).then(function(data, textStatus, jqXHR) {
// Handle both XHR objects
console.log(data);
}).fail(function(){
console.log('failed');
});
}

Chrome 开发工具的屏幕截图(网络流量,我请求堆栈中的第一个文件): enter image description here

Chrome 开发工具的屏幕截图(带有“失败”消息的 JavaScript 控制台): enter image description here

最佳答案

问题出在我的服务器端代码上。使用 .Net 代码隐藏,将 Response.ContentTypeResponse.ContentType = "text/xml"; 切换为 Response.ContentType = "text";.谢谢Dave Methvin用于发现我的 JSON 错误。上面发布的两个示例中的代码仍然有效。

关于javascript - JQuery Promise 在 ComponentDidMount React.JS 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244555/

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