如何避免XMLHttpRequest调用后自动页面重新加载?
问题描述:
我知道这是有点悖论,因为XMLHttpRequest不应该重新加载页面,这是它的全部重点。如何避免XMLHttpRequest调用后自动页面重新加载?
在Chrome最新版本,iOS上的Safari和Android上尝试过。所有相同的结果。
我正在通过它发送一个表单和文件。很好的工作,目标网站正确接收数据,并显示它。发回200,“OK”。 (这是脸谱)
但是,然后我的页面自动重新加载。就像我使用HTML表单和提交按钮提交表单一样。 (这是我原来的问题)
这里是我如何做到这一点,从Javascript
// Get the form element
var formData = new FormData(document.getElementById("photosubmitform"));
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://graph.facebook.com/' + facebookWallId + '/photos', false);
xhr.onload = function(event)
{
var json = xhr.responseText; // Response, yay!
}
xhr.send(formData); // Sending it, will reload the page on success...
答
任何你被提交表单触发这个机会?如果您在onsubmit处理程序中没有return false
,则表单仍将提交。
它的工作原理!将其添加到
我不知道表单会通过xhr发送。 – daivuk
太棒了!谢谢你,做了我的一天。 – Benvorth