Javascript 代码未同步运行
我正在为一个服装网站编写一个脚本,它可以选择您的正确尺寸,将其添加到购物车,并将您重定向到结帐页面Javascript 代码未同步运行,javascript,jquery,redirect,Javascript,Jquery,Redirect,我正在为一个服装网站编写一个脚本,它可以选择您的正确尺寸,将其添加到购物车,并将您重定向到结帐页面 var size=“中等”; $(“#大小选项:包含(“+size+”).attr('selected','selected'); $(“输入[name='commit']”)。单击(); window.location.replace(“此处的签出链接”) 这就是我到目前为止编写的代码。它似乎在有机会将文章添加到购物车之前重定向。我尝试了window.setTimeout,但没有成功。我应该如何
var size=“中等”;
$(“#大小选项:包含(“+size+”).attr('selected','selected');
$(“输入[name='commit']”)。单击();
window.location.replace(“此处的签出链接”)代码>
这就是我到目前为止编写的代码。它似乎在有机会将文章添加到购物车之前重定向。我尝试了window.setTimeout
,但没有成功。我应该如何设置它,以便它可以在重定向之前将文章添加到购物车?提前感谢。只需使用AJAX,然后使用回调函数重定向用户(或执行任何您想要的操作)
你写了一个同步代码,当然它不能正常工作 尝试通过AJAX提交请求,然后执行重定向。。这将通过以下方式完成:
$.ajax({
url: "Your Cart Addition Link",
type: "POST",
dataType: "html",
data: {}//Your Cart Addition Parameters
}).done(function(data) {
window.location.replace("checkout link here");
});
这样事情会好起来的。。如果可以控制服务器页面,也可以使用服务器端重定向。当然不行。。如果这是一个表单,单击“提交”按钮时,它必须转到服务器以完成事务。。然后,您可以将客户端从服务器重定向到签出,而不是从客户端。否则,您可以使用AJAX异步添加到购物车,然后在AJAX成功后重定向到购物车。What@MohammedR.El-Khoudary说。。。查看服务器端脚本的设置。@MohammedR.El-Khoudary该网站使用标准化的签出页面(/checkout),请查看下面我的答案。。如果你不能修改签出页面,我给你写了一个解决方案。我对JavaScript相当陌生,我会在你写“你的购物车添加链接”的url部分放什么,它不是一个将它添加到购物车的链接,而是一个jquery命令。你能在这里发布jquery命令吗?如果它是一个异步AJAX调用,那么我们所要做的就是将回调与其完成状态挂钩。$(“输入[name='commit']”)。单击();这还不够。。它可能会调用表单提交或调用AJAX事件。。如果您刚刚离开.click()而没有重定向,请告诉我该页面是否会转到另一个页面?当您执行$(“input[name='commit'])时,它将保持在同一页面上。click();