嗨,我一直在尝试对JSP页面进行Ajax调用。这是JS函数。
<script>
$(function(){
function myAjaxCall() {
$.ajax({
type: "post",
url: "jsp/common/myJavascriptPage.jsp",
dataType: "text",
success:
function (result) {
alert("Got the result: " + result);
},
error: function (xhr,status,error) {
alert("Status: " + status);
alert("Error: " + error);
alert("xhr: " + xhr.readyState);
},
statusCode: {
404: function() {
alert("page not found");
}
}
});
}
});
</script>
即使提到的URL中存在JSP,我也一直在找不到文件。请注意,我正在计算相对于webapp目录的JSP文件位置。
我尝试使用普通的AJAX调用(没有jQuery),但最终出现相同的错误。
您能帮我理解为什么无法找到jsp吗?
最佳答案
这就是你要去的地方。
AJAX是从客户端的Web浏览器执行的,这意味着它与服务器上的任何内容都不相关。
如果要在Web浏览器中访问该页面,您将去哪里?
那就是您希望您的请求URL所在的位置。
编辑:我显然没有足够好地解释这一点,所以还有另一件事!
假设我的服务器上有一个文件,其存储方式如下:my_website/src/webapp/jsp/common/myFile.jsp
如果我想通过可公开访问的URL访问此资源,则该资源将与上面的文件路径不同。可能类似于common/myFile.jsp
甚至common/myFile
。
如果是这种情况,那么我必须使用可公开访问的URL进行AJAX请求,然后才能发送到该URL。