1

我需要在我的网页上显示一个从 REST 服务返回的简单文本字符串。我目前正在使用 XMLHttpRequest:

<div id="returnedText"></div>
<script type="text/javascript">
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
    if(xhr.status == 200 && xhr.readyState == 4) {
    document.getElementById("returnedText").innerHTML=xhr.responseText;
}
};
xhr.open("GET",url,true);
xhr.send(null);
</script>

没有更轻松的方法吗?我考虑过使用脚本标记,但有问题的 Web 服务不支持 JSONP。我还用 iframe 做了一个天真的尝试(将 REST url 作为 src),但它没有用。

4

2 回答 2

2

我对 iframe 进行了另一次尝试,实际上效果很好:

<iframe src="url"></iframe>

其中 url 是 REST 服务调用。

我第一次肯定做错了什么(可能是身份验证问题)。

于 2012-08-06T05:10:55.223 回答
1

好吧,iframe 路由很笨重,因为您要将 REST 响应加载到其中,然后通过 JS 访问它以获取响应。更重要的是,它会在浏览器的地址栏区域造成可见的负载。AJAX 的出现是为了消除 iframe hack :)

JSON-P 需要与 AJAX 一样多的设置,如果您的服务器不支持回调,那是一个无启动的。

AJAX 不需要被认为很重。将其加入到自己的实用程序功能中,或者更好的是,使用一个库,它可以在一行中完成这样的请求。jQuery 示例:

$.get('some/path').done(function(response) { /* do something */ });
于 2012-07-09T20:36:04.927 回答