2015-06-22 88 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

我的不好,我在例子中寫錯了。但在我的代碼中是正確的這個表達。 –