gpt4 book ai didi

php - 当在同一域中打开两个浏览器选项卡时,JQuery Ajax 不起作用

转载 作者:行者123 更新时间:2023-12-01 04:43:00 25 4
gpt4 key购买 nike

我在使用 JQuery 和 PHP AJAX 时遇到一个非常奇怪的问题。

我有一个通过 AJAX 提交的表单,它工作正常。问题是,当我在另一个浏览器选项卡中从同一站点加载另一个页面时,我的 ajax 请求不再在我的其他选项卡中工作。

这是我当前使用的代码:

Javascript:

$("#step-edit-form").submit(function(e){

e.preventDefault();

var data = $(this).serialize();

//Update order in the database
$.ajax({
type: 'POST',
url: ajax.ajaxurl,
data: data,
dataType: 'json',
cache: false,
success: function(data){

if(data.success == 0) {
$('.message').html(data.message).fadeIn()
console.log(data.message);
}
else if(data.success == 1) {

$('.save').hide();
$('.message').html('Saved Successfully').fadeIn().delay(3000).fadeOut();
formmodified = 0;
}
},

error: function(xhr, ajaxOptions, thrownError, request, error) {

console.log('xrs.status = ' + xhr.status + '\n' +
'thrown error = ' + thrownError + '\n' +
'xhr.statusText = ' + xhr.statusText + '\n' +
'request = ' + request + '\n' +
'error = ' + error);
}
});
});

我在控制台中得到了这个:

xrs.status = 200
thrown error = SyntaxError: Unexpected end of input
xhr.statusText = OK
request = undefined
error = undefined

PHP 根本不返回任何内容。

就像我说的,只有当我在同一域上加载另一个浏览器选项卡时才会发生这种情况,否则一切正常。我已经在 Chrome 和 FireFox 中进行了测试,这两种浏览器中都有同样的问题。

我在两个选项卡中打开了这两个页面:

选项卡 1: http://localhost/sbs/admin/edit-step/18 (这是我的 ajax 选项卡)

选项卡 2: http://localhost/sbs/ (我加载此选项卡后,第一个选项卡中的 ajax 不再正常工作)

最佳答案

您遇到错误“输入未定义结束”,这意味着在某些情况下您会收到预期的错误响应。

导致此错误的可能原因

  • 您的代码在服务器端被破坏。就像使用 exit 语句
  • 您缺少逗号 (,)、大括号 ({,})
  • 您的代码返回null数据

这不是在新选项卡中打开的问题,而是意外数据的问题

关于php - 当在同一域中打开两个浏览器选项卡时,JQuery Ajax 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34429180/

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