問題:提取從ajax
請求數據內page.evaluate
PhantomJs - 獲得價值了page.evaluate + AJAX(同步版)
說明:我通常簡單地返回他們得到變量出來page.evaluate
。但是,我需要在頁面上下文中發出ajax
請求,然後我需要將結果處理出頁面的上下文。
我試圖修復代碼是:
var theOutput = page.evaluate(function() {
return $.ajax({
async: false,
url: 'http://localhost:8080/captcha.php',
data: { filename: 'C:\\wamp\\www\\images\\0.png' },
type: 'post',
success: function (output) {
parsed_output = $.parseHTML(output);
return parsed_output[4].data.trim();
},
});
});
console.log(theOutput);
變量parsed_output[4].data.trim()
是一個字符串。但是,當我登錄output
時,我收到[object Object]
,屬性爲abort, always, complete, done, error, fail, getAllResponseHeaders, getResponseHeader, overrideMimeType, pipe null, progress, promise, readyState, setRequestHeader, state, statusCode, success,then
。
問題:如何從page.evaluate
中提取theOutput
?
Artjom的解決方案爲我使用[jquery 1.8.0](https://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery-1.8.0.min.js)。我沒有使用早期版本,因爲我還需要函數'$ .parseHTML'(在版本1.8.0中添加)。 – 2015-02-25 19:01:13