使用jquery将参数传递给php函数

时间:2013-07-11 13:50:21

标签: php jquery arguments

我的代码问题如下:

jquery的

var data = $('thisForm').serialize();
var msg = <?php echo computeAverage(data)?>;
alert(msg);

PHP

function computeAverage($data){
    return $data;
}

我将“数据”(字符串)作为输出而不是数据的实际值。顺便说一句,我只使用一个包含上面的jquery和php函数的php文件。

我们将不胜感激。我真的需要弄清楚这一点。我是jquery的新手。

谢谢你的回复。 鉴于我需要将我的php函数放到一个单独的文件

jquery的

var url = "myPhpFunction.php";
var data = $('thisForm').serialize();
$post(url,data, function(response)); // how can i get the reponse from my url?

PHP

function computeAverage($data){ // how to convert $data to an array?
     return average; // how can i return the average back to my jquery?
} 
谁能帮助我吗?感谢

3 个答案:

答案 0 :(得分:1)

你不能将值从javascript传递给PHP函数,因为PHP在SERVER端执行而Javascript执行Clint端。

您应该使用Ajax来做这件事。

答案 1 :(得分:1)

在客户端开始执行Javascript之前,在服务器上执行PHP代码。 <?php ?>中的所有代码都先执行。

执行PHP代码后,它会将输出发送到客户端,如下所示: -

var data = $('thisForm').serialize();
var msg = data; // echo executed
alert(msg);

现在javascript将开始执行。

PHP不会考虑javascript变量data,因为它是客户端脚本的一部分。

答案 2 :(得分:0)

使用$ .post将数据发送到您的php脚本!

<script type="text/javascript">
     $(document).ready(function () {

        $("#autocomplete").keyup(function(e){
            var form = $("#autocomplete");
            var data = form.serialize();
            $.post("ajax_form.php", data, function(response) {
                $( "#autocomplete" ).autocomplete({
                    source: response
                })
            })   
        })
     })             

</script>

html部分:

 <input class="formfeld" id="autocomplete" name="suchfeld" title="type &quot;a&quot;">