Самое простое решение - создать функцию JavaScript и вызвать его для обратного вызова Ajax success
.
function callServerAsync(){
$.ajax({
url: '...',
success: function(response) {
successCallback(response);
}
});
}
function successCallback(responseObj){
// Do something like read the response and show data
alert(JSON.stringify(responseObj)); // Only applicable to JSON response
}
function foo(callback) {
$.ajax({
url: '...',
success: function(response) {
return callback(null, response);
}
});
}
var result = foo(function(err, result){
if (!err)
console.log(result);
});
У вас проблема с кодировкой здесь.
Кодировка, необходимая для интерпретации ответа, - latin1
, также известная как ISO-8859-1
.
Используйте Source.fromURL("url")("encoding")
, чтобы решить проблема.
Source.fromURL("http://google.com")("ISO-8859-1").mkString
res4: String =
<!doctype html><html itemscop
Немного фона: если в http request
не указывается кодировка, стандартное поведение заключается в перенастройке всего, закодированного в латинском-1. Подробную информацию см. В http://www.ietf.org/rfc/rfc2045.txt