2015-06-22 58 views
2

我创建爬网程序。我需要执行一些JavaScript来获得回报。

而这两种情况下的代码工作,但与XMLHttpRequest不返回指定部分的HTML。我需要捕获元素SELECT使用ID“listaPartes

With $ .ajax works,with XMLHttpRequest do not。这些代码有什么区别?

// with AJAX 
var url = 'http://www.stf.jus.br/portal/processo/listarProcessoParte.asp'; 
var data = { 
    "dropmsgoption": "4", 
    "numero": "andre", 
    "partesAdvogadosRadio": "4", 
}; 

var response = $.ajax({type: 'POST', 
         url: url, 
         data: data, 
         async: false 
        }); 

return response.responseText; 

现在使用XMLHttpRequest:

var xhr = new XMLHttpRequest(); 
xhr.open('POST', url, false); 
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded') 
var formData = new FormData(); 
formData.append('dropmsgoption', '4'); 
formData.append('numero', 'name'); 
formData.append('partesAdvogadosRadio', '4'); 
xhr.send(data); 
return xhr.responseText; 
+1

他们两个人的问题首先也是最重要的,那就是它不是真的ajax,它是**同步**,这是一个很大的禁忌! – adeneo

+0

@adeneo我真的需要同步 –

回答

0

在您的倒数第二行,你做

xhr.send(data); 

当你的数据变量是formData

所以,你应该正在做

xhr.send(formData); 
+0

我的不好,我在例子中写错了。但在我的代码中是正确的这个表达。 –