2013-08-16 234 views
0

我有一个关于jquery传递变量到php的简单问题,这里是我的代码,它不工作,有人能帮助我吗?jquery传递变量到php

的javascript:

$(function(){ 
    var txt_value='aa'; 
    $.post("test1.php", {txt_value:txt_value}); 

}); 

test1.php

<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>jQuery.post demo</title> 
    <script src="./report_js/jquery-1.10.2.min.js"></script> 
    <script src="./a.js"></script> 
</head> 
<body> 
    <form action="test1.php" id="txt_value"> 
    <?php 
    $a=$_POST['txt_value']; 
    echo "$a"; 
?> 
    </form> 
</body> 
</html> 

没有在test1.php 印刷价值我也尝试过使用回调函数,如果我用下面的JavaScript,它总是显示test1.php的代码,不是我想要传递的变量 javascript:

$(function(){ 
    var txt_value='aa'; 
    $.post("test1.php", {txt_value:txt_value}, 
    function(data){ 
     alert(data); 
    }); 

}); 

即使我改变我的PHP代码如下所示,它仍然不列入输出正确的值在PHP

<?php 
    $a=$_POST['txt_value']; 
    echo "$a"; 
?> 

我合并我自己的js jQuery的JS。有什么我需要做我的js? 谢谢。

+0

其实,你得到的东西错了,剧本的工作,你设计的他们,test1.php应该是处理数据它的脚本接收,所以(在大多数情况下)没有html代码的地方,相反,你会有像SQL查询的东西。如果test1.php向您显示它收到的值,那么您的变量已成功传输,并且下一步是处理它... –

+0

test1应该只返回文本。您可以删除test1.php中的所有html标签。无论如何,我认为代码是正确的。你有没有检查过你的JavaScript调试控制台像萤火虫,以防你只是有一些语法错误? –

回答

1

test1.php应该只输出你想返回的数据 - 现在它返回一个完整的HTML页面,这就是你得到的。该脚本部分应该是全部:

<?php 
    $a=$_POST['txt_value']; 
    echo "$a"; 
?> 
+0

嗨,我明白了。但我仍然有另一个问题。如果我把你的代码保存为php代码。我需要更改为我的JavaScript代码?我的意思是如何在我的js中包含jquery-1.10.2.min.js文件。谢谢。 –

+0

我是一个新来的人to javascript –

+0

@YijiangHuang no - mainpage.php应该有Javascript文件,就像你现在拥有它一样。 test1.php不需要任何Javascript - 它只是返回数据,对吧? – McGarnagle

0

你还需要一些内部管理的东西

你的脚本应该只返回您希望它不会返回总HTML哪一部分。

使用下面的代码

test1.php

<?php 
    if(isset($_POST['txt_value'])){ 
     $a=$_POST['txt_value']; 
     echo "$a"; 
    } 
?> 
+0

嗨,我明白了。但我仍然有另一个问题。如果我把你的代码保存为php代码。我需要更改为我的JavaScript代码?我的意思是如何在我的js中包含jquery-1.10.2.min.js文件 –