gpt4 book ai didi

javascript - Opera 和 Google Chrome 中的 jquery ajax 问题

转载 作者:行者123 更新时间:2023-12-02 20:44:20 25 4
gpt4 key购买 nike

我有一个页面,需要向某些元素添加拖放功能。当 drop 事件发生时,它会对 php 函数进行 ajax 调用,然后刷新 div 的内容。我使用 jQuery 和 jQueryUI 进行拖放,并使用 CakePHP 作为 PHP 框架(不确定这是否相关)。

在 Firefox、Safari 甚至 IE 中一切正常,但在 Opera 或 Chrome 中 div 的内容不会刷新(尽管执行了 PHP 函数的操作)。

所以,这是代码:

jQuery('#lists div').
filter(function() {return this.id.match(/item[\d]+_[\d]+/);}).
each(function() { jQuery(this).draggable( {axis: 'y'}); });

jQuery('#lists div').
filter(function() {
return this.id.match(/list[\d]+/);}).
each(function() {
jQuery(this).droppable({
drop: function(event, ui) {
dropID = jQuery(event.target).attr('id');
dragID = jQuery(ui.draggable).attr('id');

itemID = dragID.substr(dragID.lastIndexOf('_') + 1);
oldListID = dragID.substr(4).replace(/_[\d]+/g, '');
newListID = drop.substr(4);

jQuery.ajax({
url: "/lists/itemToList/"+itemID+"/"+oldListID+
"/"+newListID,
type: "POST",
success: function (data) {
jQuery('#lists').html(data);}
});
}
});
});

基本上,成功函数不会被执行,但是如果我尝试查看 errorThrown (在错误事件上),它是“未定义的”

最佳答案

尝试这样的事情:

jQuery.ajax({
url: "/lists/itemToList/"+itemID+"/"+oldListID+
"/"+newListID,
type: "POST",
success: function (data) {
jQuery('#lists').html(data);
}
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.responseText);
}
});

它将向您显示您的请求得到的 http 响应。前段时间我也遇到了同样的问题。我的脚本在 Firefox 和 Chrome 中运行良好,但在 Opera 和 IE 中却没有任何作用。我检查了一下,问题是,php后端返回404(我仍然不知道它在Chrome和FF下是如何工作的)。

关于javascript - Opera 和 Google Chrome 中的 jquery ajax 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1680459/

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