在同一域上打开两个浏览器选项卡时,JQuery Ajax无法正常工作 - php

使用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(…