abo*_*nov 6 javascript ajax jquery
这是一个按钮:
<input type="button" value="add to cart" id="addToCart" />
Run Code Online (Sandbox Code Playgroud)
和绑定事件:
$("#addToCart").bind('click',function(){
$.ajax({
url: '/cartManager/add',
data:{
pictureId: currentImageId,
printSize: $("#size option:selected").val(),
paperType: $("#paperType option:selected").val(),
quantity: 1
},
success: function(){
$("#modal").html("<h1>??</h1><p>Closing in a sec</p>").delay(1000);
$("#modal").overlay().close();
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
一切工作都找不到一件令人烦恼的事情,我在Chrome开发者控制台中看到了两个请求:
Run Code Online (Sandbox Code Playgroud)Request URL:http://127.0.0.1:8000/cartManager/add?pictureId=4&printSize=2&paperType=1&quantity=1 Request Method:GET Status Code:301 MOVED PERMANENTLY
Run Code Online (Sandbox Code Playgroud)Request URL:http://127.0.0.1:8000/cartManager/add/?pictureId=4&printSize=2&paperType=1&quantity=1 Request Method:GET Status Code:201 CREATED
两者的请求标头几乎相同,是请求标头中的唯一区别:
首先是cartManager/add?pictureId =等等,第二个是cartManager/add /?pictureId - '/'之后/ add
我的javascript有问题吗?
Aln*_*tak 10
这本身并没有什么不妥,但你应该给/cartManager/add自己添加尾随斜杠.
发生的事情是Web服务器301使用新URL向AJAX客户端发送重定向,因此它向正确的URL发出新请求(即使用尾部斜杠).