如何使用/不使用html表单加载带有jQuery变量的$ _POST数组

时间:2012-04-25 23:00:47

标签: php html jquery post

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

我的方案如下:

我有一个简单的界面,绘制了一个4X4网格,以便用户可以点击任何位置,并通过一个工作正常的jquery函数记录一个2D坐标值。现在我需要将这两个x-y变量发送到PHP,以便通过单击用户按钮存储在DB中。我允许用户多次单击但有一个提交按钮,以便仅提交最终点击的值。 我将所有工作都写在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代码顶部的值,但是我无法检索$ x,$ y值PHP端。 我测试用以下表格发布:          “&GT;               

经过测试,我发现$ _POST只能用method =“post”action =“加载表单变量,但是从不使用带有jQuery变量的$ .post或$ .ajax调用。 我尝试通过在jQuery单击函数中加载表单中的两个文本区域来解决方法,然后使用表单POST和method =“post”action =“从现在起jQuery变量转移到表单变量。

如何仅使用表单提交按钮执行AJAX调用($ .ajax或$ .post)并通过$ _POST数组将jQuery变量传递给服务器-PHP,因为似乎$ _POST数组仅加载了表单变量from method =“post”action =“并且无法从$ .post()和$ .ajax()调用,并将jQuery变量传递给$ _POST数组。 另一个问题是如何在$ _POST数组中传递没有表单的jQuery变量,只使用输入类型=“按钮”单击(尝试使用$(“#button”)。单击(function()....但POST不工作$ .ajax和_POST数组是空的)因为技术上我不需要表单,因为我没有任何表单变量?

1 个答案:

答案 0 :(得分: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语法错误