1

我的代码有问题:

jQuery

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

php

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

我得到“数据”(字符串)作为输出,而不是数据的实际值。顺便说一句,我只使用了一个 php 文件,其中包含上面的 jquery 和 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?
} 

谁能帮我?谢谢

4

3 回答 3

1

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

你应该使用Ajax来做这样的事情。

于 2013-07-11T13:56:17.747 回答
1

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

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

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

现在javascript将开始执行。

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

于 2013-07-11T14:08:44.003 回答
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;">
于 2013-07-11T14:14:23.537 回答