XMLHttpRequest调用后如何避免自动页面重新加载?

dai*_*vuk 5 javascript html5 facebook xmlhttprequest

我知道这有点自相矛盾,因为XMLHttpRequest不应该重新加载页面,这是它的全部意义.

尝试使用Chrome最新版本,iOS版和Android版Safari.所有相同的结果.

我正在通过文件发送表格.效果很好,目标站点正确接收数据并显示它.发回200,"OK".(这是facebook)

但随后我的页面会自动重新加载.就像我使用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...
Run Code Online (Sandbox Code Playgroud)

Jam*_*son 12

你有机会通过提交表格来触发这个吗?如果您不在return falseonsubmit处理程序中,则仍将提交表单.

  • 有用!将其添加到 <form> 标记中,如下所示:<form onsubmit="return false;" id="photosubmitform" enctype="multipart/form-data"> 谢谢! (2认同)