大家好我尝试使用jquery(json)和php创建一个小应用程序 而此时我想通过替换
来编写最佳代码$(document).ready(function () {
$('form').submit(function () {
var action = $(this).attr('action');
var name = $('.name').val();
var email = $('.email').val();
var city = $('.city').val();
$.post(action, {
name: name,
email: email,
city: city
}, function (data) {
alert(data.error);
}, 'json');
return false;
});
});
所以如何通过我所谈论的另一种方法(姓名,电子邮件,城市)发送所有这些变量
答案 0 :(得分:0)
我想你需要类似的东西
$(function(){
$('form').submit(function(e){
e.preventDefault();
$.post(
$(this).attr('action'),
$(this).serialize(),
function(data){
alert(data.error);
},
'json'
);
});
});
答案 1 :(得分:0)
您可以使用$ .serialize序列化表单。
$.post('url', $(this).serialize(), ... );
(注意:this
仅适用于您的示例的格式范围)
答案 2 :(得分:0)
好像@ D.Muller说你可以使用这样的东西:
var serializedData = $('form').serialize();
$.post(
'getSerializedData.php',
{data:serializedData},
function(data){
}
)
然后在你的php脚本中你应该使用unserialize:
<?php
$serializedData = $_POST['data'];
$unserializedData = array();
parse_str($unserializedData,$serializedData);
print_r($unserializedData);
?>
但是,我不确定这是不是你想要的。无论如何,
希望我帮了一下!
nLamprok
答案 3 :(得分:0)
我似乎明白为什么你不能得到发布的变量。因为,您没有为输入字段指定属性“name”。使用名称属性而不是类将变量名称传递给您的php脚本。