访问post vars JS或PHP?

时间:2010-09-20 18:34:55

标签: php jquery

我正在使用jquery将vars发布到php脚本。

脚本发布后是否可以访问这些变量?如果我将数据发布到php脚本,是我在发布它的html / js中访问它的唯一方法,将它从php脚本发送回json?

我似乎无法在JS中这样做,但即使是php也无法正常工作?,抱歉纠正我可以访问php页面中的post vars,但不能在我发布的html / js页面中

如何从发布帖子的页面访问已发布的变量?

更新:是的更清楚一点,我使用带有javascript的html页面发布到php页面,我想访问html javascript页面中发布的变量。我尝试输出$ .post和$ .ajax,这些只显示一个很长的函数。

干杯

5 个答案:

答案 0 :(得分:4)

您如何将自己的元素提交到php页面?如果你做得很好并且使用ajax(see jquery post method),你可以使用$_POST['var_name']来正常访问php变量。

确保:

  • 您的表单方法类型设置为POST
  • 您的ajax请求成功
  • 您已指定服务器端脚本的正确路径

答案 1 :(得分:2)

在PHP中,数据应该可以通过$_POST数组访问,就像您使用表单发布到脚本一样(无论您是通过浏览器发出AJAX请求还是正常请求,服务器都会运行相同)。如果他们不在那里,也许你实际上是通过GET发送了你的数据(你可以检查$_REQUEST,但它更好,并且更安全,知道你的数据将会是什么方法in),或者你的AJAX请求失败。

答案 2 :(得分:1)

我不建议使用$_REQUEST将某些内容发回您的网站。如果有人更改了您的$_REQUEST vars,那么您有an opening for cross site scripting

将所有变量推到$_SESSION并按照您认为合适的方式发布,但只有在经过净化后才能发布。这样,即使您对事件进行了一些修改,您也可以依赖$_SESSION中的源代码。但是,如果您在页面执行后尝试执行操作,则会超出PHP限制的范围。人们一直都在使用像Jquery这样的东西,但它并没有使它成为正确。

警告:如果您在PHP完成打印页面后允许访问和处理变量,那么您就有可能对代码进行攻击。

答案 3 :(得分:0)

我假设您使用$.ajax$.post来执行此操作。

将数据保存在局部变量中。我知道为什么你应该丢失发布的数据,或者你的php无法访问它。

如果您发布代码,也许有人可以提供更好的帮助。

答案 4 :(得分:0)

在你的php函数中,你可以使用它:

    function foo() {
        //do something
        echo json_encode($var);
    }

我使用.ajax,使用dataType:“json”。成功属性为:

$.ajax(
    {
        url: 'ajaxfile.php', 
        type: "POST",
        data: ($("#myForm").serialize()), 
        dataType: "json",
        success: function(data)
        {
                       //Insert your logic to handle the vars from php
        }
    });