实际上我知道有一种方法可以做到这一点,因为我已经实现了它,如下所示:
function sendSearchRequest(searchQuery, getFiberStatus, prepopulateCity, zip){
var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.setAttribute("src", "http://52.16.32.189/FIBIA_Autocomplete_v2/getData/?search=" + encodeURIComponent(searchQuery)+"&getFiberStatus="+getFiberStatus+"&prepopulateCity="+prepopulateCity+"&zip="+zip);
document.getElementsByTagName("head")[0].appendChild(fileref);
}
然而,这似乎比从服务器获得实际响应所需的时间长10倍。
这是示例请求:
http://52.16.32.189/FIBIA_Autocomplete_v2/getData/?search=1052&getFiberStatus=false&prepopulateCity=true&zip=null
它返回一些JSON数据以及一些我想要作为回调调用的函数。效果很好,但速度太慢了。
您可以在这里建议任何常见的设计模式?如何在客户端上将JavaScript响应作为JavaScript代码执行?
修改
实际上我认为这不是导致极端延迟的问题,它是某种Tomcat缓存或热身或与服务器相关的东西在第一次发出请求时没有准备好(并且它不是浏览器缓存)。