Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 代码未同步运行_Javascript_Jquery_Redirect - Fatal编程技术网

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();