AJAX未发送数据/可能存在语法错误


AJAX not sending data / possible incorrect syntax?

我无法获取要发送的表单数据。我的场景:页面"user.php"包含一个表单。其中的文本字段应将数据发送到up_cap.php,然后将其发送回user.php,并在中显示,而不刷新页面。

所以基本上:用户在文本字段中键入信息,然后在提交时,它会显示在旁边,而不会刷新页面。php页面没有接收到数据。

我相信我的问题是将表单数据转换为AJAX信息的语法,或者将AJAX转换为PHP的语法。我已经做了两天了!非常感谢任何帮助/想法。

我基于以下代码:http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

HTML(user.php)

 <div id="the_boxx" class="popUp2">
 <? include 'up_cap.php'?>
 </div><!--end popUp-->

HTML FORM(user.php)

<form name="cap_update">   
              <input id="c_a_p" name="c_a_p" value="" size="30"
              class="validate[required] input" type="text" />
              <div class="clearfix;"></div></div>
              <button id="update_info" type="submit" 
               style="float:right;padding-left:10px;padding-right:10px;" 
               class="chg" >Update</button>
              </form>

JAVASCRIPT(位于user.php正文底部)

<script>
$('.chg').click(function() {    
 var c_a_p = $("#c_a_p").val();
 $.ajax({
     type: "POST",
     url: "up_cap.php",
     data: "c_a_p",
     success: function() {  
  $('#the_boxx').load('up_cap.php')     
      }  
     }); return false;      
    });
 </script>

PHP(up_cap.PHP)

 <?
 $vaar = $_REQUEST['c_a_p'];
 echo $vaar;
 ?>

也许这样:)

data: {key:value}

并且在php中

$_POST['key']

祝你好运!

OP这里:答案是AlexP的建议。由于他没有回复或发帖作为回答,我无法给他打分。不管怎样,我的解决方案确实是我所怀疑的语法。

success: function(html) { $('#the_boxx').html(html); }

这也是需要的:

data: "c_a_p=" + c_a_p,

以下是您更正的语法。您没有适当地制作data字符串。

$('.chg').click(function() {    
 var c_a_p = $("#c_a_p").val();
 $.ajax({
     type: "POST",
     url: "up_cap.php",
     data: "c_a_p=" + c_a_p,
     success: function() {  
  $('#the_boxx').load('up_cap.php')     
      }  
     }); return false;      
    });
 </script>

将数据更改为-

data: { cap : c_a_p } ,

和Php

$vaar = $_REQUEST['cap'];