JQuery:表单POST问题

时间:2012-08-10 14:30:00

标签: jquery forms post

我正在尝试使用表单的数据来创建一个JSON文件,我可以在我的应用程序的其他页面中使用它。

我正在使用JQuery Mobile及其POST method. 但我没有任何结果,我不知道为什么。 这是我的代码。

<form id="#formK">
    <label>Text
        <input type="text" name="header" />
    </label>
    <div data-role="button" id="save" />Save</div>
</form>

<script type="text/javascript">

$("#save").click( function(){
    $.post("OptJson.php", {head : $('[name=header]').val(); }, json );
});

</script>

这是我的OptJson.php页面的来源

<?php
echo $_POST['head'] ;    
?>

错误在哪里?感谢

1 个答案:

答案 0 :(得分:0)

尝试从head : $('[name=header]').val();

中删除分号

如果我在Chrome浏览器中运行您的代码,我会收到以下消息:SyntaxError: Unexpected token ;。分号是语句终止符,您不想终止该语句,您只想调用该函数并将结果用作参数。

您发送的参数是一个JavaScript对象,您可以像这样构造它:

var myObject = {
   data: "stuff",
   otherData: getStuff()
};

喜欢这样:

//THIS IS WRONG
var myObject = {
   data: "stuff";
   otherData: getStuff();
};
//THIS IS WRONG

注意分号的不同用法。

修改:此外,必须将dataType参数指定为字符串,因此"json",而不是json

我强烈建议您使用大多数现代浏览器中存在的网络开发者工具(我更喜欢Chrome,但Firefox也很好)。检查“控制台”选项卡,查看浏览器报告的错误。在调试JavaScript代码时,它会有所帮助。

Edit2:如果您想要实际查看返回的数据,则必须使用成功回调,如下所示:

$.post("OptJson.php", {head : $('[name=header]').val() }, function(data){
    alert(data); //do stuff with returned data
}, "json");