0

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

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

<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'] ;    
?>

错误在哪里?谢谢

4

1 回答 1

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", not json

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

Edit2:如果你想真正看到返回的数据,你必须像这样使用成功回调:

$.post("OptJson.php", {head : $('[name=header]').val() }, function(data){
    alert(data); //do stuff with returned data
}, "json");
于 2012-08-10T14:33:26.853 回答