Я делаю кросс-сайт ajax для транзакции java-данных (не уверен, правильно ли я назвал это, поэтому, пожалуйста, простите меня об этом). Часть кода в Java файла:Java-ajax cross site пустая строка ответа
BufferedReader input =
new BufferedReader(new InputStreamReader(connectionsocket.
getInputStream()));
DataOutputStream output =
new DataOutputStream(connectionsocket.getOutputStream());
...
output.writeChars("some random text");
output.close();
Также я index.php файл с некоторыми JQuery:
$(document).ready(function()
{
$("#send_data").click(function(){
$.ajax({
type: 'get',
dataType: 'text',
url: 'http://localhost:1024/'+$("#command").val(),
success: function(data) {console.log(data);},
error: function() { console.log("Error"); }
})
});
});
Команда правильно переданных и принятых в Java стороны правильно. Затем запрос от java к ajax равен 200 OK тоже. Выход также работает. (Например, если я удаляю output.close(), я вижу в firebug, что он ожидает закрытия вывода.)
Единственная проблема - независимо от того, что я делаю, я не получаю текст ответа. Это всегда пустая строка :(
Тогда почему шаг один из Ajax-> Java-передачи успешный (Java-конец получает URL-адрес отправлен), но второй шаг не удается? Я предполагаю, что если я нарушаю ту же политику происхождения, она должна потерпеть неудачу на первом шаге. Вы можете это объяснить? –
На каком этапе блокировка должна зависеть от браузера. Если вы пробовали с достаточно старой версией IE (скажем, 7 или 8), она * должна * работать (но без гарантий). –
Почему вы не просто [test1] (http://www.webdevout.net/test?0K) [test2] (http://pastehtml.com/view/brs1b9um2.html)? Наслаждайтесь подключением этих ссылок. :) –