Вывод Json с selfhost C# и чтение ответа с помощью JavaScript
Я создаю простой selfhost с C#, где:
public JObject Get()
{
jsonOut = @"{""server"": ""10.0.0.1"" }";
return JObject.parse(jsonOut);
}
Когда я пытаюсь открыть URL-адрес http://localhost:2000/api/test в веб-браузере, правильно вижу ответ json: {"server": "10.0.0.1" }. После того, как я создаю веб-страницу:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdlocalhost">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
<meta name="description" content="Portale per Webmaster">
<meta name="keywords" content="HTML,CSS,JavaScript,PHP,ASP">
<meta http-equiv="refresh" content="900">
<script type="text/JavaScript">
function ajaxRequest() {
var xmlhttp = new XMLHttpRequest();
var url = "http://10.1.3.62:2000/api/test";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var json=eval("("+xmlhttp.responseText+")");
document.getElementById("info").innerHTML = json.server;
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
window.onLoad = ajaxRequest();
setInterval(ajaxRequest, 2000);
</script>
</head>
<body>
<div id="info"></div>
</body>
</html>
но я не вижу никаких изменений и в средствах разработки в Firefox получаю следующую ошибку:
SyntaxError: JSON.parse: неожиданный конец данных в строке 1, столбец 1 данных JSON
почему не работает?
Спасибо
1 ответ
Я предлагаю использовать AJAX для чтения формата JSON, я переписываю код следующим образом:
var senderData = { id: "1" }
$.ajax({
type: "POST",
url: "http://10.1.3.62:2000/api/test",
processData: false,
contentType: "application/json; charset=utf-8",
data: JSON.stringify(senderData),
success: function (response) {
var items = eval(response.d);
},
error: function (error) {
console.log(error);
}
});