编辑:我将 post 方法更改为 get 方法,一切正常。我会进一步调查,如果我弄清楚为什么会这样,我会添加答案。我确实在其他地方使用过帖子,所以我们会看到...
我已经四处寻找这个问题的答案,但到目前为止还没有找到任何有帮助的东西。我有一个简单的表单,它使用 jquery 的 .submit 函数来序列化数据并通过 ajax 将其发布到 php 脚本。这一切在我的本地主机上都很好用,但是一旦我将它发布到服务器,字段值就不会发布。
这是表格:
<div id="loginDiv">
<form id="login" class="form-inline pull-right">
<input id="loginVal" name="loginVal" type="password" class="input-small" />
<button type="submit" class="btn btn-success">Log In</button>
</form>
</div>
下面是提交函数和成功回调函数:
// ajax function to login to session
$(document).ready(function() {
$("#login").submit(function() {
$.post(
"functions/sessionLogin.php",
$("#login").serialize(),
//{"loginVal":"CHAPMANADMIN"}, (this was just to troubleshoot)
function(json) {
parseReturnedLogin(json);
}
);
return false;
});
});
// login success handler
function parseReturnedLogin(data) {
var obj = jQuery.parseJSON(data);
$("#loginDiv").html("<p class=\"navbar-text pull-right\">Logged in as <span
style=\"color:#0088cc\">"+obj.priveleges+"</span></p>");
}
这是我在 localhost 上获得的一些标头和响应的示例:
请求方法:POST 状态码:200 OK
接受:/
X-Requested-With:XMLHttpRequest
表单数据:loginVal:CHAPMANADMIN
响应:{“用户”:“CHAPMANADMIN”,“priveleges”:“管理员”,“sessid”:“pvigqmcfumlbiu13esiojg1n74”}
这是我在服务器上得到的一些标头和响应的示例:
请求方法:POST 状态码:200 OK
接受:/
X-Requested-With:XMLHttpRequest
表单数据:loginVal:CHAPMANADMIN
响应:{“用户”:“”,“特权”:“”,“sessid”:“o2nf69vc2tdd8hc8n0usas4010”}
实时服务器上的查询以空值运行。我在同一台服务器上还有其他 AJAX 应用程序,它们应该使用类似的设置工作,所以我不确定发生了什么,并且希望专家提供一些建议/故障排除指导!