我指的是这个问题: Javascript value to PHP with Jquery
我尝试使用名为a.php的文件中的以下代码:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
var ms = 9000;
function test()
{
$.ajax({ url: "a.php",
data: {"test":ms},
type: 'get',
success: function(output) {
$('#testing').html(output);
}
});
}
test();
</script>
<?php
$ms = $_GET["test"];
echo "I am getting below value:";
echo $ms;
?>
然后我将浏览器指向http://localhost/learn/a.php,但收到错误消息&amp; $ ms的值未按预期显示:
(!)注意:未定义的索引:test in 第17行的C:\ wamp \ www \ learn \ a.php
$ ms = $ _GET [“test”]; &lt; - 第17行 在a.php中
我在下面尝试了另一个更简单的代码(b.php):
<script src="js/jquery.min.js"></script>
<script type="text/javascript">
var ms = 3000;
$.get("http://localhost/learn/b.php", { "test": ms } );
</script>
<?php
$ms = $_GET["test"];
echo $ms;
?>
然后我将浏览器指向http://localhost/learn/b.php,但得到了类似的错误消息&amp;没有显示$ ms的值:
(!)注意:未定义的索引:test in 第7行的C:\ wamp \ www \ learn \ b.php 以下是第7行的代码 $ ms = $ _GET [“test”];
请指教。感谢。
答案 0 :(得分:4)
好的,看看这段代码:
<script src="js/jquery.min.js"></script>
<script type="text/javascript">
var ms = 3000;
$.get("http://localhost/learn/b.php", { "test": ms } );
</script>
<?php
$ms = $_GET["test"];
echo $ms;
?>
我认为这都在一个文件中。您有两种不同语言的代码,可以在不同的地方进行解释。首先,您在顶部有Javascript。这不是您的服务器解释的。它就像HTML一样返回浏览器。
稍后,你有一块PHP。我们还在服务器上,还没有向浏览器发送任何内容。您要查找$_GET['test']
值。您的网址为http://localhost/learn/b.php
:显然该网址中没有GET值,因此出现错误。
当您的代码发送到浏览器时,浏览器会看到行$.get
并执行AJAX请求。这是另一个 HTTP请求。它不会修改原始请求,因此不会减轻您上面收到的错误。通过此请求,您的浏览器会将http://localhost/learn/b.php?test=3000
发送到服务器,并且不会出现错误。但是,因为您没有对响应做任何事情,所以您没有看到第二个请求的影响。
答案 1 :(得分:2)
也许使用此网址,您需要在网址
中精确确定GET参数“test”答案 2 :(得分:1)
当您使用XHR发出请求时,您不会只是使用新请求访问该页面,并且该值仍然存在(HTTP是无状态)。
你需要在回调中使用jQuery做一些事情。
答案 3 :(得分:1)
看起来你应该把你的Javascript和PHP放在哪里令人困惑。您的PHP文件应该只具有接收和使用Javascript变量的逻辑,而不是任何Javascript本身。所以基本上你需要拆分这个逻辑。
在您的HTML文件中:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script> $(function() { var ms = 3000; $.ajax({ url: 'a.php', data: { test: ms }, success: function(response) { $('#testing').html(response); } }); }); </script>
在PHP文件中(a.php);
<?php $ms = $_GET['ms']; echo 'I am getting the value: ' . $ms; ?>