0

我在 $.ajax() 和 $.post() 调用中遇到了一些问题,需要在接口端将一些变量发送到服务器端 PHP 进行处理。虽然这似乎是一个微不足道的问题,并且在表格中大量报告,但我尝试了过去几天的所有选项,但没有成功。

我的情况如下:

我有一个简单的界面,绘制了一个 4X4 网格,以便用户可以单击任何位置,并且将通过运行正常的 jquery 函数记录 2D 坐标值。现在我需要通过单击用户按钮将这两个 xy 变量发送到 PHP 以存储在数据库中。我允许用户单击多次,但有一个提交按钮,以便仅提交最终单击的值。我将所有工作都写在一个文件 test.php 中,如下所示:

<?php
$x = $_POST['xval'];
$y = $_POST['yval'];
echo "X-Value......" . "$x";
echo "Y-Value......" . "$y";
// Code to store $x and $y in database
?>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
var x=0;
var y=0;
$("#table").click(function(e1){
// Process x, y values from the grid..This part is working fine and tested also
})
$("#form").submit(function(event) {
    //var $form = $(this);
    //var url_s = $form.attr('action');
    var data_s = {xval: 'x', yval: 'y'};
    //$.post("test.php", { xval:"x", yval: y });
      $.ajax({ type: "POST", url: "test.php", data: {xval: 'x', yval: 'y'}});
})
});
</script>
<div class="form">
<form name="form100" id="form">
<input type="submit" name="SubmitOption" id="button" value="Next">
</form>
</div>

我将值发布在同一页面,即 test.php,因为我想处理 PHP 代码顶部的值,但我无法检索 PHP- 中的 $x、$y 值结尾。我测试用如下表格发布:>

经过测试,我发现 $_POST 只能使用 method="post" action=" 加载表单变量,但不能使用带有 jQ​​uery 变量的 $.post 或 $.ajax 调用。我尝试通过加载来解决方法jQuery click 函数的表单中的两个文本区域,然后使用带有 method="post" action=" 的表单 POST,因为现在 jQuery 变量被传输到表单变量。

如何仅使用表单提交按钮执行 AJAX 调用($.ajax 或 $.post)并通过 $_POST 数组将 jQuery 变量传递给服务器 PHP,因为似乎 $_POST 数组仅使用来自的表单变量加载method="post" action=" 并且无法从 $.post() 和 $.ajax() 调用并将 jQuery 变量传递给 $_POST 数组。另一个问题是如何在没有表单的情况下传递 jQuery 变量在 $_POST 数组中仅使用输入 type="button" 单击(尝试使用 $("#button").click(function()....但 POST 不适用于 $.ajax 并且 _POST 数组为空),因为从技术上讲我不需要表格,因为我没有任何表格变量?

4

1 回答 1

0

尝试这个

<?php
if(isset($_POST['action'])){
$x = $_POST['xval'];
$y = $_POST['yval'];
echo "X-Value......$x";
echo "Y-Value......$y";
exit;
}
?>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script language="javascript" type="text/javascript">

            $(function() {
            $('#button').click(function(){
            $.ajax({
            type: 'POST',
            url : 'test.php',
            data: {
            action   :'ADD' ,
            xval     :'x',
            yval     :'y'
         },
        success: function(data) {
           alert(data);
            } ,
        error : function(){
            alert('erroR');
           }
           })
         })  


$("#table").click(function(e1){
// Process x, y values from the grid..This part is working fine and tested also
})


   })
</script>
<div class="form">
<input type="submit" name="SubmitOption" id="button" value="Next">
</div>

并使用 firebug 捕捉可能的 jq-js 语法错误

于 2012-04-25T23:27:23.897 回答