我可以使用以下链接将产品添加到购物车:
<div id="add"><a id="add-link" href="http://example.com/cart/?add-to-cart=1127">Add to Cart</a>
我已经尝试在到达第7行时同时使用GET或POST但是我没有收到产品被添加的警报,即使它在第6行检索到正确的URL。有人能告诉我什么是错的吗?帮助会很棒!
<script type="text/javascript">
$(document).ready(function(){
$('a#add-link').click(function(event) {
event.preventDefault();
var url = $(this).attr("href");
alert("Now I want to call this page: " + url);
$.post(url, function () {
alert("Product added to cart");
});
});
});
</script>
答案 0 :(得分:1)
您没有在发布请求的帖子中明确说明 - 也就是说,您是在域中还是在域外请求资源 - 但这是{的常见症状{3}}限制。
如果您的URL变量引用了您自己以外的域名,您可以打赌这是追求的方向。您可以通过放入引用本地资源的链接来测试它,然后尝试(它应该可以工作)
答案 1 :(得分:0)
因此,在脚本块中,您可以声明处理程序和函数:
$(document).ready(myMethod);
$(myButton).click(otherMethod);
function myMethod()
{
//do some work
//you can trigger another event in here
$(myButton).click()
}
function otherMethod()
{
//more work
}
现在,当文档发出信号表明它已准备好时,它将运行myMethod()
,这会点击myButton
元素,该元素有一个名为otherMethod()
的事件处理程序。所以,只是通过文件说“准备好了!”它将启动这两个事件,它将比内联声明的函数更快地完成它。内联,JS必须在每次事件发生时重新编译该函数。将函数分离出来会导致它们在加载JS时只编译一次。
只要点击“添加到产品”链接,就会触发事件:
$('#add-link').click(addToCart);
function addToCart() //you can optionally get an event parameter in here as well
{
event.preventDefault();
var url = $(this).attr("href");
alert("Now I want to call this page: " + url);
$.post(url, function ()
{
alert("Product added to cart");
//I'm not 100% on this, I don't use the jQuery .post method
});
}