为什么onreadystatechange在尝试将数据POST到php脚本时失败
Why onreadystatechange fails when trying to POST data to php script?
我有以下Javascript代码,当单击提交按钮时,使用Ajax将输入数据从notebook.php中的表单发送到数据库。名为addNote()
的函数应该通过将数据发布到add.php
来处理Ajax操作。
出于某种原因,这不起作用。onreadystate
函数似乎失败,并且从未接收到来自add.php
的对变量res
的响应文本。我不知道为什么。代码中缺少什么吗?
以下是文件notebook.js、notebook.php、的内容
notebook.js
:
function addNote() {
...
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) { // compelete & OK
var res = xhr.responseText;
}
}
var notetext = document.getElementById("notetext").value;
xhr.open("POST", "add.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("notetext=" + notetext);
}
function main() {
$("#submitbtn").click(function() {
addNote();
});
}
$(document).ready(main);
notebook.php
:
...
<body>
<h1>Notebook</h1>
<div class="input">
<form>
<input type="text" name="notetext" id="notetext">
<input type="submit" value="Add" id="submitbtn">
</form>
</div>
<ul>
<?php
// add stuff to list
?>
</ul>
</body>
</html>
您不会取消单击提交按钮,因此表单会提交页面。
$("#submitbtn").click(function(evt) {
evt.preventDefault(); //cancel the form submission by cancelling the click action.
addNote();
});
相关文章:
- php脚本中无法识别ajax传递的值
- 使用JS在服务器上运行PHP脚本
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 使用php脚本验证访问者的年龄,并在不刷新的情况下根据结果加载iframe
- jQuery DataTable返回带有数据的PHP脚本
- 通过JavaScript设置的表单字段的值不会作为$_POST的一部分传递给PHP脚本
- 单击Dojo按钮执行PHP脚本
- 将javascript函数传递给.php脚本
- 使用Ajax或JavaScript选择下拉列表选项后,在同一页面上执行PHP脚本
- AJAX和php脚本后添加的表单元素未传输到$_POST
- jquery ajax到php脚本不保存数据
- 有没有一种方法可以生成Braintree令牌,而不必向我的服务器添加PHP脚本
- 如何使用jQuery将所选文件传递到php脚本
- PHP脚本在Lion上通过Ajax运行时会回显自己的内容
- Codeigniter :通过 AJAX 调用 php 脚本时路由不起作用
- 使用 jQuery 从运行 MySQL 的 PHP 脚本返回信息
- 我将如何在将数据发布到 php 脚本的 javascript 脚本中输入变量
- 在 ajax 成功中触发 php 脚本
- 使用同一页面上的按钮访问 php 脚本
- 从 PHP 脚本预缓存第二个图像