这是一个按钮:
<input type="button" value="add to cart" id="addToCart" />
和绑定事件:
$("#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;
});
一切工作都找不到一件令人烦恼的事情,我在Chrome开发者控制台中看到了两个请求:
> add / cartManager:
06002
> add / cartManager / add?:
06003
两者的请求标头几乎相同,是请求标头中的唯一区别:
首先是cartManager / add?pictureId =等等,第二个是cartManager / add /?pictureId – ‘/’之后/ add
我的javascript有问题吗?
解决方法
本身没有任何问题,但您应该将尾随斜杠添加到/ cartManager /添加自己.
发生的事情是Web服务器使用新URL向AJAX客户端发送301重定向,因此它向正确的URL发出新请求(即使用尾部斜杠).