使用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
引发错误= SyntaxError:输入意外结束
xhr.statusText =确定
请求=未定义
错误=未定义
PHP完全不返回任何内容。
就像我说的那样,只有当我在同一域中加载另一个浏览器标签时,才会发生这种情况,否则一切正常。我已经在Chrome和FireFox中进行了测试,两个浏览器中都存在相同的问题。
我在两个标签中打开了这两个页面:
标签1:http://localhost/sbs/admin/edit-step/18(这是我的Ajax标签)
标签2:http://localhost/sbs/(我加载此标签后,此时我的第一个标签中的ajax不再正常工作)
参考方案
您面临的错误是“输入的未定义末尾”,这意味着在某些情况下,您将收到错误的响应,而这是预期的。
此错误的可能原因
您的代码从服务器端被破坏。就像使用exit语句一样
您缺少逗号(,),花括号({,})
您的代码返回空数据
这不是在新标签页中打开的问题,而是意外数据的问题
PHP strtotime困境 - php有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…
PHP Laravel从另一个驱动器读取文件 - php我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…
php:拆分字符串,直到第一次出现数字 - php我有像cream 100G sup 5mg Children 我想在第一次出现数字之前将其拆分。所以结果应该是array( array('cream','100G'), array('sup','5mg Children') ); 可以告诉我如何为此创建图案吗?我试过了list(…