Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 某物';It’我用$.post是不对的_Javascript_Php_Ajax - Fatal编程技术网

Javascript 某物';It’我用$.post是不对的

Javascript 某物';It’我用$.post是不对的,javascript,php,ajax,Javascript,Php,Ajax,有一些奇怪的问题,我已经研究了几天了,甚至谷歌也无法解决 我有一段JS,当按下按钮时调用它。我告诉你这个函数真的被调用了,因为会弹出警报(“1”)。我也很确定地知道这里有人居住 <script type="text/javascript"> function process_match() { var rarray = new Array(); $x = $("input[name=pair]:checked").val(); $left = $x.charAt(0);

有一些奇怪的问题,我已经研究了几天了,甚至谷歌也无法解决

我有一段JS,当按下按钮时调用它。我告诉你这个函数真的被调用了,因为会弹出警报(“1”)。我也很确定地知道这里有人居住

<script type="text/javascript">
function process_match() {
  var rarray = new Array();
  $x = $("input[name=pair]:checked").val();
  $left = $x.charAt(0);
  $rite = $x.charAt($x.length-1);
  $car1a = document.getElementById("car"+$left+"_"+$rite+"_1").value;
  $car1b = document.getElementById("car"+$rite+"_"+$left+"_1").value;
  .....
  $hsb = document.getElementById("hs"+$rite+"_"+$left).value;

  rarray[0] = $left;
  rarray[1] = $rite;
  rarray[2] = $car1a;
  rarray[3] = $car1b;
  .....
  rarray[15] = $hsb;

  alert("1");
      $.post("./updpoule.php",
    {'results': rarray},
    function(data) {
      alert("2");
    }
  );
}
</script>

函数进程_匹配(){
var rarray=新数组();
$x=$(“输入[name=pair]:选中”).val();
$left=$x.charAt(0);
$rite=$x.charAt($x.length-1);
$car1a=document.getElementById(“car”+$left+“”+$rite+“1”).value;
$car1b=document.getElementById(“car”+$rite+“\u”+$left+“\u1”).value;
.....
$hsb=document.getElementById(“hs”+$rite+““+$left”).value;
rarray[0]=$left;
rarray[1]=$rite;
rarray[2]=$car1a;
rarray[3]=$car1b;
.....
rarray[15]=$hsb;
警报(“1”);
$.post(“./updpoule.php”,
{'results':rarray},
功能(数据){
警报(“2”);
}
);
}
然后,我有以下php文件:

<?php
  $f = fopen("/tmp/q", "w");
  $array = $_POST['results'];

  fwrite($f,"AAA");
  fwrite($f, $array[0]);
  fwrite($f, $array[1]);

  fclose($f);
?>

我已经将此代码视为类似问题的解决方案,但我无法使其正常工作。 如果我运行代码,会弹出警报(“1”)。之后什么也没发生。没有创建文件/tmp/q。但是,如果我调试页面,并在$.post所在的位置设置一个断点,然后逐步执行,就会创建一个文件/tmp/q,只是内容不正确

欢迎提出任何建议

谢谢,
Hans

尝试从php脚本返回一些内容。 例如,将以下内容添加到文件末尾:

echo 'OK';
?>
在你的JS中:

$.post("./updpoule.php", {'results': rarray}, function(data) {
  if (data === 'OK') {
    alert('ok');
  } else {
    console.log(data);
    alert('error');
  }
});

如果您将弹出带有
错误的弹出窗口
,请检查您从php获得的数据的控制台。

您的php从不返回任何内容,因此POST请求将超时。如果您想返回任何内容,只需回显即可。您也只需假设fopen成功。永远不要假设成功
如果($f==false){die(“无法打开文件以进行输出”);}
在代码中,
$array
是未定义的,那么您可能还会收到一堆未定义的var/index警告。@adeneo它不会超时,它只会返回一个空字符串。打开开发者工具并转到网络选项卡,查看AJAX调用是否有错误。谢谢。我完全按照你的要求做了,但问题仍然存在。目前,我不认为这是一个编程错误,但可能是其他错误。如果不一步一步地跟踪和执行操作,我就不会得到文件,也不会出现“确定”或“错误”警报。如果我跟踪并单步执行该函数,则会创建一个文件并显示“确定”警报。奇怪…你确定你的功能被触发了吗?检查控制台是否有任何错误。是的。当我跟踪页面并单击onclick调用函数的按钮时,跟踪在我在函数中设置的断点处停止。如果您愿意,您可以在Ok上看到它的运行,因此我尝试了您提供的链接,它会在警报“1”后立即显示Ok弹出窗口。它会吗?它变得越来越奇怪。我确实可以看到正在创建的文件,所以一切都必须正常工作。除了本地,那就是…谢谢你和我一起思考。我将尝试进行更多的调试,以找出它在本地无法工作的原因。