Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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 在同一页面上调用ajax_Javascript_Php_Html_Ajax - Fatal编程技术网

Javascript 在同一页面上调用ajax

Javascript 在同一页面上调用ajax,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我试图在没有单击事件的情况下在同一页面上调用ajax,出现以下错误: 注意:未定义的index:name在index.php的第行 它与click事件配合良好。我正在努力做到这一点,没有任何事件。我的目标是将JavaScript变量传递给PHP <script> $(document).ready(function(){ alert('est123'); $.ajax({ type: 'POST',

我试图在没有单击事件的情况下在同一页面上调用ajax,出现以下错误:

注意:未定义的index:name在index.php的第行

它与click事件配合良好。我正在努力做到这一点,没有任何事件。我的目标是将JavaScript变量传递给PHP

<script>
      $(document).ready(function(){
          alert('est123');
          $.ajax({
              type: 'POST',
              url: 'index.php',
              data: ({name:"test"}),
              cache: false,
              success: function(data){
                  $('#results').html(data);
              } 
          })
          return false;
      });
</script>

</head>
  <body>
      <a href='#' class="idname">click me!</a>
      <div id="results"></div>
      <div><?php echo $_POST['name'] ?></div>
  </body>
</html>

$(文档).ready(函数(){
警报(“est123”);
$.ajax({
键入:“POST”,
url:'index.php',
数据:({name:“test”}),
cache:false,
成功:功能(数据){
$('#results').html(数据);
} 
})
返回false;
});

在输出前检查它是否存在

if (isset($_POST['name'])) { echo $_POST['name'] }

但是我不认为这是您希望发生的事情,因为您将把返回的HTML文档粘贴到页面中。

我认为这可能会对您有所帮助

<script>
      $(document).ready(function(){
          dataArray={name:"test"};
          $.ajax({
              type: 'POST',
              url: 'index.php',
              data: dataArray,
              cache: false,
              success: function(data){
                  $('#results').html(data);
                  $('#lblName').html(dataArray.name);
              } 
          })
          return false;
      });
</script>

</head>
  <body>
      <a href='#' class="idname">click me!</a>
      <div id="results"></div>
      <div id="lblName"></div>
  </body>
</html>

$(文档).ready(函数(){
dataArray={name:“test”};
$.ajax({
键入:“POST”,
url:'index.php',
数据:dataArray,
cache:false,
成功:功能(数据){
$('#results').html(数据);
$('#lblName').html(dataArray.name);
} 
})
返回false;
});

您应该使用单独的页面来处理数据,否则可能需要一系列条件。我建议将post数据发送到PHP,PHP应该
echo json\u encode($assocArray)
返回到您的AJAX
success
方法。只需尝试
数据:{name:“test”}
。我不是jQuery专家(或javascript专家),但我没有在
$的
数据
部分看到对象周围的括号。ajax
就像在任何jQuery文档中看到的那样……尽管如此……没有专家!!!我可能错了,学到了一些新东西。@PHPglue+1@separate page。$ASSOCARAY的用途是什么?在使用类似于
MySQL
PDO
mysqli
的东西从数据库获取数据后,您可以在其中放置一个PHP关联数组。在
echo json_encode($assocArray)之后
(在JavaScript将数据发送到该页面后发生)通过发送到
success
方法的参数,只要jQuery AJAX函数的
dataType
属性设置为
'JSON'
,数据应该以JSON的形式返回。谢谢,但这不是我要找的,问题是$u POST['name']未设置,但在页面加载@eepascarello时调用它当然在页面加载时未设置。。。。加载页面时,没有对该页面进行发布。代码将运行…有任何关于如何修复它的建议@epascarello您希望发生什么?代码将在页面加载时运行,我建议您检查post数据是否存在。如果您不想让它运行,为什么代码在那里,为什么要发回同一页面。您的实际目标是什么?是的,以正确的方式使用Ajax。创建一个能做你想做的事情的php,向它发布数据。返回所需内容,并使用成功回调设置返回的数据。