【问题标题】:how to pass jquery variable to php [closed]如何将jquery变量传递给php [关闭]
【发布时间】:2014-01-23 15:24:47
【问题描述】:

我已经找到this question

我的代码基本一样:

<script>
var x=3;

$.ajax({
    url:'ajax.php',
    data: {"x":x}
});
</script>
<?
echo $_REQUEST['x'];
?>

但是在阅读了前面提到的链接上的答案后,我仍然不知道,我怎样才能让它工作?

请帮忙,谢谢。

【问题讨论】:

  • 您希望发生什么?
  • 什么不完全有效?打开浏览器控制台 (F12) 并检查错误。确保在 PHP 等中打开错误报告。
  • 您没有对 PHP 返回的数据做任何事情。你怎么知道它不起作用?
  • x 是 php/apache 日志中未定义的索引,我只想打印出来,看看 3

标签: javascript php jquery


【解决方案1】:

如果您的设置如下所示,这可能是可行的:

index.php

<script>
$(document).ready(function(){
    var x=3;

    $.ajax({
        url:'ajax.php',
        type: 'POST', // should probably set this but I think GET is default
        data: {"x":x},
        dataType: 'html', // we expect html from ajax.php
        success: function(data){ // listen for a 200 response from server

            // show the output of ajax.php
            alert(data);

            // send it to the <body>
            $('body').html(data);

        },
        error: function(){

            alert('oh snap! we did not get a 200 response, definitely check the network tab for proper debug');

        }
    });
});
</script>

<body>
</body>

ajax.php

<?
echo $_REQUEST['x'];
?>

注意它们是单独的文件。

要进行调试,请确保您正在查看 index.php,按 F12 并转到“网络”选项卡,刷新页面,找到对 ajax.php 的 HTTP 调用并单击它

【讨论】:

  • 我试图在同一页面上解决它...或者这不可能?
  • 可能,是的。明智的,亲爱的 ReligiousFigure 不!你为什么问?因为成功回调将接收整个 javascript 和 echo $_REQUEST; 你当然可以尝试,但 alert(data) 会让你清楚为什么不应该这样做。
  • 请查看更新并注意&lt;body&gt; 标签恶作剧
【解决方案2】:

试试:

<script>
var x=3;

$.ajax({
    url:'ajax.php',
    data: { myx : x },
    type: 'post',
});
</script>
<?
echo $_POST['myx'];
?>

【讨论】:

    【解决方案3】:

    您必须在您的 ajax 请求中使用 GET 或 POST,否则将无法正常工作。所以如果你 POST 到 ajax.php,你可以使用 ajax.php 上的变量,而不是在同一个页面上

    【讨论】:

    • 所以不能在同一页面显示传递的变量?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    相关资源
    最近更新 更多