2013-01-08 79 views
5

我知道这是有点悖论,因为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... 

回答

12

任何你被提交表单触发这个机会?如果您在onsubmit处理程序中没有return false,则表单仍将提交。

+1

它的工作原理!将其添加到

标签,如下所示: 谢谢! – daivuk

+0

我不知道表单会通过xhr发送。 – daivuk

+0

太棒了!谢谢你,做了我的一天。 – Benvorth

相关问题