当我执行 Ajax 请求时,对于下面提到的网址,它会将我提到的网址值与网页网址的路径名连接在一起
JSP:
<form:form modelAttribute="createtask" id="create-task-form" name="create-task-form">
<div class="task">
<form:input path="taskName" placeholder="enter task"/>
<c:url value="/createtask/${todo.todoId }" var="createtaskUrl" />
<a id="create-task" href="${createtaskUrl }"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a>
</div>
</form:form>
Jquery Ajax调用:
$("a#create-task").click(function(event){
event.preventDefault();
var todoid = this.href.substring(this.href.lastIndexOf("/")+1,this.href.length);
var createTaskForm = $("#create-task-form").serialize();
$.ajax({
type : "POST",
url : "createtask/"+todoid,
data : createTaskForm,
dataType : "text",
success : function(data){
console.log("Created Task successfully..");
$("section#taskviewer").html(data);
}
});
});
我知道它与应用程序的上下文路径连接在一起。例如,如果我的应用程序上下文路径是 localhost:8080 / SpringMVCPractice /和我执行Ajax请求的页面是
http://localhost:8080/SpringMVCPractice/viewTodo/110
当我通过点击锚标记执行ajax请求时,所需的网址是
http://localhost:8080/SpringMVCPractice/viewTodo/createtask/110
为什么不采用localhost:8080/SpringMVCPractice/createtask/110
?
有什么建议吗?我对Ajax比较陌生。
答案 0 :(得分:3)
您可以使用:
${pageContext.request.contextPath}
将网址指定为,
url : "${pageContext.request.contextPath}/createtask/"+todoid,