Javascript AJAX不在服务器上传递变量(任何AJAX)

Javascript AJAX不在服务器上传递变量(任何AJAX),javascript,php,jquery,ajax,.htaccess,Javascript,Php,Jquery,Ajax,.htaccess,所以我有很多AJAX函数,它们在服务器和本地主机上都运行得很好,直到最近我对js文件和一些AJAX php文件做了一些更改。尽管如此,它们在本地主机上仍然工作得非常好,但在服务器上却不行 在调试期间,我发现…ajax获取文件没有问题…我的意思是没有404错误…但是…它没有传递变量 JS文件 function nextImg(Imgkey){ changeImgViewerN = 0; var currUrl = window.location.href; var baseUrl = currUr

所以我有很多AJAX函数,它们在服务器和本地主机上都运行得很好,直到最近我对js文件和一些AJAX php文件做了一些更改。尽管如此,它们在本地主机上仍然工作得非常好,但在服务器上却不行

在调试期间,我发现…ajax获取文件没有问题…我的意思是没有404错误…但是…它没有传递变量

JS文件

function nextImg(Imgkey){
changeImgViewerN = 0;
var currUrl = window.location.href;
var baseUrl = currUrl.split(/[\\/]/).pop();
var splitUrl = baseUrl.split('&');
var folderKey = splitUrl.pop();
var groupKey = splitUrl[0];
if(groupKey == undefined) groupKey = folderKey;
   $.ajax({
      url:'/9712d9c1_2be4d8c9318e69_1b526557b8_sF',
      type: 'POST',
      data:{searchNextImg:Imgkey, groupKey:groupKey, folderKey:folderKey},
      success: function(response){
        $('#in_folders').prepend(response);
      }
   })
}
echo "Here";
if(isset($_POST['searchNextImg']) || isset($_POST['searchPrevImg'])) && isset($_POST['groupKey']) && isset($_POST['folderKey'])){

    echo "Reading";
}
PHP文件

function nextImg(Imgkey){
changeImgViewerN = 0;
var currUrl = window.location.href;
var baseUrl = currUrl.split(/[\\/]/).pop();
var splitUrl = baseUrl.split('&');
var folderKey = splitUrl.pop();
var groupKey = splitUrl[0];
if(groupKey == undefined) groupKey = folderKey;
   $.ajax({
      url:'/9712d9c1_2be4d8c9318e69_1b526557b8_sF',
      type: 'POST',
      data:{searchNextImg:Imgkey, groupKey:groupKey, folderKey:folderKey},
      success: function(response){
        $('#in_folders').prepend(response);
      }
   })
}
echo "Here";
if(isset($_POST['searchNextImg']) || isset($_POST['searchPrevImg'])) && isset($_POST['groupKey']) && isset($_POST['folderKey'])){

    echo "Reading";
}
但是在服务器上,它只是执行 呼应“这里”; 但不是 呼应“阅读”

我的.htaccess文件显示:

RewriteRule ^9712d9c1_2be4d8c9318e69_1b526557b8_sF$ http://www.example.com/ajaxinc/searchFile.php
还有其他AJAX函数,但它们没有将变量传递给服务器,但是在localhost上,它们工作得非常好。都是

替换:

url:'/9712d9c1_2be4d8c9318e69_1b526557b8_sF',

您没有在ajax调用中传递此变量
searchPrevImg
,但这是处于或状态,因此不重要
建议:

使用以下方法创建数据对象:

data:{'searchNextImg':Imgkey, 'groupKey':groupKey, 'folderKey':folderKey},

您有一个js语法错误:

替换:
类型:“POST”按<代码>类型:'POST',


代码的其余部分看起来不错。

试着像下面这样调用ajax

 $.ajax({
  url:'/9712d9c1_2be4d8c9318e69_1b526557b8_sF',
  type: 'POST',
  data:{searchNextImg:Imgkey, groupKey:groupKey, folderKey:folderKey},
  async:false,
  success: function(response){
    $('#in_folders').prepend(response);
  }
   })

如何从ajax中传递此
$\u POST['searchPrevImg']
;在输入'POST'之后,这是一个输入错误……PHP中有一个OR条件,所以这无关紧要。我有一个不同的传递函数@卫星下方
回显“此处”
,write
echo json\u encode($\u POST)
并检查POST中的值。尝试在else中打印一些内容,因为错误可能在if条件YES中。我没有…因此在php条件中有这个OR运算符。但它不起作用:(你试过我在回答中提到的所有东西了吗?你是
类型:'POST';
应该是
类型:'POST',
好的,它工作了…但是我还必须更改.htaccess文件并删除你。请解释你的答案?你到底想让我解释什么?
异步:false
?为什么?可能是服务器花费的时间太长了ime响应。因此,取消ajax的默认行为以找出确切的问题。在我的例子中,这种情况发生了。这正是使用非异步操作时发生的情况。我的意思是,当服务器不响应时,浏览器将冻结等待响应。打开“开发人员工具”的“网络”选项卡,您可以看到所有请求(包括ajax请求),因此最好进行调试