0

关于在这里使用 AJAX 的问题。我想更改函数参数并重新加载它。

所以函数的初始值 $x 可能是 5,我想通过单击一个按钮来更改它,然后重新加载函数但 $x 将等于 6。等等。

<?php 
function first_Func($x,$y){
    //do this
}

这是在我的另一个问题上向我建议的:

$('#next').click(function(){
        var x = '12';
        var y = '17'; 
        var url  = "url of the script";
        $.ajax({'url' : url ,
            'type' : 'post',
            'data' : {'x' : x , 'y' : y} ,
            'success' : function(data){
                // do something with your data
            }
        }); 

但我不明白这是如何工作的。我大概是在将数据传递给服务器,但是如何在我的脚本中使用它呢?我没有用这个改变我原来的 PHP 脚本中的任何变量..

任何帮助表示赞赏。

4

3 回答 3

1
<?php
$x = $_POST['x'];
$y = $_POST['y'];
$result = ...
return json_encode($result);

在客户端(javascript)中管理变量。在开始时声明一个变量并在 onclick 内增加/减少。

successjQuery 中的-callback定义您将如何处理 PHP 脚本返回的数据(例如,将其放在带有 的 HTML 标记中getElementById("xyz").innerHTML = value

于 2013-02-22T20:19:12.337 回答
1

您可以像这样简单地将此脚本添加到您自己的脚本中

$('#next').click(function(){
    var x = "$x";
    var y = "$y"; 
    var url  = "url of the script";
    $.ajax({'url' : url ,
        'type' : 'post',
        'data' : {'x' : x , 'y' : y} ,
        'success' : function(data){
            // do something with your data
        }
    }); 

如果您需要从表单中读取脚本而不是$x and $y使用这些: filter_input(INPUT_POST, 'id', FILTER_SANITIZE_STRINGfilter_input(INPUT_GET, 'id', FILTER_SANITIZE_STRING从地址读取它们。

于 2013-02-22T20:21:48.490 回答
-1

您的 PHP 脚本必须捕获获取变量 x 和 y 并将其传递给函数。例如

<?php 
  if(isset($_GET["x"]) && isset($_GET["x"]) ) {
    echo test( $_GET["x"] , $_GET["y"] );

  }

function test($x, $y) {
    return json_encode(array( $x, $y));
}

但是传递变量的方式就像我做的那样非常粗糙。

在 javascript 中,你的成功函数看起来像这样

success:function (data) {
   console.log(data);
}
于 2013-02-22T20:22:03.207 回答