我想以jquery形式在php中检索post值,以便使用jquery提交表单。我正在使用jquery.submit()函数来提交我的表单。示例如下
$('#form').submit(function{
var data = '//post variables from php script here';
$.ajax({
type:'post',
data:data,
url://url to save the data,
success:function(response){
//success message here;
}
});
有人可以帮助我吗?
答案 0 :(得分:0)
我不知道你想要做什么,但据我所知,你似乎需要 json_encode php函数。
var data = '<?php echo json_encode($_POST)?>';
答案 1 :(得分:0)
您不能直接在JavaScript中提取POST变量 - 您可以使用GET,因为它们是URL的一部分(?my_get_variable = is_here等)
如果你真的需要在JavaScript中访问你的POST变量,你可以做的是让一些PHP迭代并打印出post变量。以下代码使用传递给页面的post变量填充名为PostVariables的JavaScript数组:
<script type="text/javascript">
var postVariables = new Array();
<?php foreach($_POST as $key => $value): ?>
postVariables['<?=$key?>'] = '<?=$value?>';
<?php endforeach; ?>
</script>
如果您的POST正文是name = John&amp; pet = Cat&amp; friends = Many,您将获得以下代码:
<script type="text/javascript">
var postVariables = new Array();
postVariables['name'] = 'John';
postVariables['pet'] = 'Cat';
postVariables['friends'] = 'Many';
</script>
当然,这确实需要PHP。
如果您需要该格式的数据,只需调整脚本:
<script type="text/javascript">
var myData = "";
<?php foreach($_POST as $key => $value): ?>
myData += "<?=$key?>=<?=$value?>&";
<?php endforeach; ?>
</script>
答案 2 :(得分:0)
您可以使用serialize
发布表单数据。示例表格:
<form id="myForm" method="POST">
<input name="one" value="11" />
<input name="two" value="22" />
<input id="submit" type="submit" value="11" />
</form>
<div id="test"></div>
的Javascript
<script type="text/javascript">
$('#submit').click(function(e) {
e.preventDefault();
$.ajax({
type:'POST',
data: $("#myForm").serialize(),
url:'mypage.php',
success:function(response){
$("#test").html(response);
}
});
});
</script>
mypage.php
<?php var_dump($_POST); ?>
array (size=2)
'one' => string '11' (length=2)
'two' => string '22' (length=2)
答案 3 :(得分:0)
解决了自己。一直在我的网站上使用插件jquery表单。使用相同的方式实现表单提交。 http://malsup.com/jquery/form/#ajaxForm