如何使用JavaScript从终端获取数据?

时间:2013-04-09 15:57:46

标签: java javascript jsp rest get

在终点(url)存储了一些数据。该文件是.jsp文件。

以下是数据。

{"successful":"true","rows":[{"zip":"56431","user_id":"35","name":"test"}]}

如何从此终点获取数据? www.test.com/test.jsp

即。像这样的东西

var data = get("www.test.com/test.jsp"); 
var jsonObj = JSON.parse(data);

等。

这可能吗?

4 个答案:

答案 0 :(得分:3)

我希望这段代码可以帮到你,

var data = '{"successful":"true","rows":[{"zip":"56431","user_id":"35","name":"test"}]}'
var jsonObj = JSON.parse(data);
var userID = jsonObj.rows[0].user_id;

var name = jsonObj.rows[0].name

答案 1 :(得分:1)

var obj = JSON.parse(string);//Were string is your data string

有关详细信息,请参阅this答案。

我不知道您的终点是什么意思,但我希望您不会从网址解析数据。

答案 2 :(得分:1)

jQuery使这很简单:

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
function callEndpoint() {
    $.getJSON('/endpoint.jsp', function(data) {
        $('#output').append(data.rows[0].user_id);
    });
}
callEndpoint();
</script>
<body>
<div id="output"></div>
</body>
</html>

答案 3 :(得分:1)

如果您正在寻找AJAX解决方案,可以使用此功能。它可以通过URL发送变量并从源URL接收响应。

function get_(url, func)
{
 var http;
 try { http = new XMLHttpRequest(); } catch (e) { try { http = new ActiveXObject(\"Msxml2.XMLHTTP\"); } catch (e) { try { http = new ActiveXObject(\"Microsoft.XMLHTTP\"); } catch (e) { alert(\"Your browser broke!\"); return false; } } }

 http.open(\"GET\", url, true);
 http.onreadystatechange = function() { if(http.readyState == 4) { func(http); } }
 http.send(null);
}

要使用它,下面是一个按钮如何触发调用并指定响应处理函数的示例:

HTML

<button onClick='get_("source_url.jsp", showResponse);'> Show the response </button>

JAVASCRIPT

function showResponse(h) { alert(h.responseText); }

要清楚,get_函数的第二个参数是对函数的引用。无论你在使用get_函数时指定了什么函数,它都会传递一个包含.responseText属性的参数,该属性是source_url文件的输出。

我一直使用这个功能,虽然我有另一个版本可以与我的PHP服务器一起使用来验证用户,这样就没有未经授权的加载/保存服务器的信息。