【问题标题】:Undefined Index Name when trying to pass values from Jquery to PHP尝试将值从 Jquery 传递到 PHP 时未定义的索引名称
【发布时间】:2014-08-29 21:32:06
【问题描述】:

所以,我正在研究如何将数据从 Jquery 发布到 PHP,并且尽管我按照我在此处的线程中找到的示例进行操作,但我一直收到“未定义的索引名称”错误。

到目前为止,我在 JQuery 方面的代码是

<script src="jquery-1.11.1.min.js"></script>
</script>
<script>
$(document).ready(function(){
     $("#div2").text('Hey');
    $("#div1").load('testFile.txt');
    setInterval(function() {
    $.ajax({ url: 'script.php' });
    $("#div1").load('testFile.txt');}
    ,100);



  });
  function sub(){

     var msg = $("#name").val();

     $.post('chat.php',{'name':"1234"},function(){
$("#div2").load('chat.php');
});  
 };

</script>

我正在使用的 html 表单和按钮

<div id="div1"></div>
<div id="div2">Um</div>

<form name="myForm" id="myForm" action="" method="POST">
<input type="text" name="name" id="name" size="30" value=""/>
</form>
<button id="submission" onclick="javascript:sub();">Errrr</button>

还有我要去的 PHP 方面

<?php
echo $_POST['name'];
 $myFile = "testFile.txt";
 $fh = fopen ($myFile, 'a+') or die("Cannot Open File");
 fwrite ($fh, $_POST['name']);
 fclose($fh);

?>

我不知道该做什么。所有文件都在同一个文件夹中,据我所知文件名是正确的。

【问题讨论】:

  • 你为什么要运行一个帖子,然后单独加载相同的脚本..?
  • 那是我追着我的尾巴试图追查为什么我不断收到这个错误。
  • 这应该做什么? $.ajax({ url: 'script.php' });..什么都没有发送,也没有任何返回的处理程序。

标签: javascript php jquery undefined-index


【解决方案1】:

您的问题很可能是您正在这样做:

$.post('chat.php',{'name':"1234"},function(){
    $("#div2").load('chat.php');
});  

您有效地将数据{'name': '1234'} 发送到文件然后只是加载文件? 您会收到错误消息,因为您 load() 文件未发送参数。

查看jQuery.post 手册,您会发现可以得到这样的回复:

$.post('chat.php',{'name':"1234"},function(data){
    console.log(data);
}); 

当您使用 echoprint 之类的东西来有效地将内容“返回”给 ajax 调用时。

<?php
echo $_POST['name'];
?>

现在检查您的控制台,看看是否有响应。

【讨论】:

  • 我得到了控制台中返回的值,但没有任何迹象表明 PHP 脚本正在正常运行。
  • 如果您收到使用{'name': name} 发送的值,那么脚本应该可以正常运行...
  • 很好的答案@Darren +1
  • @user3558931 谢谢:)
  • @Draketh 你的情况如何..?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 2017-02-02
  • 2015-11-13
  • 2022-06-13
  • 1970-01-01
相关资源
最近更新 更多