我是一个应用程序的开发者,除了它的主要用途之外,它还包含一个 RESTful Web 服务,以允许外部应用程序与之交互。我还提供了一个 Web UI 作为应用程序的一部分,用于配置和使用目的。我想使用内置的 Web 服务在 Web UI 和使用 ajax 调用的应用程序之间进行交互。问题是我不能在我的 jquery 代码中调用 Web 服务,因为用户可以从任何地方访问 Web UI,并且如果不手动编辑代码就不会知道 Web 服务的正确地址?有没有克服这个障碍的好方法?让 Web UI 通过 javascript 与应用程序的内置 Web 服务进行通信一定很常见。
这是我目前正在使用的 Web 服务调用的示例:
$.getJSON('http://localhost:8732/api/objects/type/place?callback=?', null, function (data) {
//$('#callback').html(data);
$("#callback").append('<ul id="places" data-role="listview" data-theme="g">');
$.each(data,function(i,obj){
$("#places").append('<li><a href="#" onclick="openPlace(\''+obj.Name+'\');" >'+obj.Name+'</a></li>');
});
$('#places').listview();
});
如您所见,我刚刚将 localhost 作为 Web 服务的地址,但这仅在我从与服务相同的机器访问 Web UI 时才有效。我还有什么其他方法可以做到这一点?不要求助于使用某种服务器端脚本吗?这就是我希望通过使用 jquery 和 restful web 服务来避免的。