我正在使用jquery将vars发布到php脚本。
脚本发布后是否可以访问这些变量?如果我将数据发布到php脚本,是我在发布它的html / js中访问它的唯一方法,将它从php脚本发送回json?
我似乎无法在JS中这样做,但即使是php也无法正常工作?,抱歉纠正我可以访问php页面中的post vars,但不能在我发布的html / js页面中
如何从发布帖子的页面访问已发布的变量?
更新:是的更清楚一点,我使用带有javascript的html页面发布到php页面,我想访问html javascript页面中发布的变量。我尝试输出$ .post和$ .ajax,这些只显示一个很长的函数。
干杯
柯
答案 0 :(得分:4)
您如何将自己的元素提交到php页面?如果你做得很好并且使用ajax(see jquery post method),你可以使用$_POST['var_name']
来正常访问php变量。
确保:
POST
答案 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
}
});