在ajax成功状态码之后无法重定向页面

时间:2017-11-10 07:14:11

标签: ajax ajaxform

 function postToGoogle() {


    var name = $('#name').val();
    var phone = $('#phone').val();
    var college = $('#college').val();
    var email = $('#email').val();
    var year = $("input[type='radio'][name='qs6']:checked").val();



    $.ajax({
        url: "https://docs.google.com/forms/u/1/d/e/KEY/formResponse",
        data: {
            "entry.1735346271": name,
             "entry.393911750": phone,
              "entry.1827584616": email,
              "entry.1041274008": college,
              "entry.334726096":year 
            },
        type: "POST",
        dataType: "xml",
        statusCode: {
            0: function() {
                window.location.href("URL");
                // window.open("URL");
                alert("Thank you for sending us your details.");
            },
             200: function() {
                window.location.href("URL");
            //     window.open("URL");
               alert("Thank you for sending us your details.");
             }
        }
    });
}

我正在尝试通过以上功能将数据发送到google工作表,我已经成功但我想在状态代码为O或200后提交表单后,我想要一个警告框,页面被重定向到另一个页面。虽然尝试我能够设法显示警告框但无法重定向页面。任何人都可以建议我在哪里出错?

1 个答案:

答案 0 :(得分:0)

您错误地使用了window.location.href。它不是您调用的函数,而是通过分配新值来更改的属性。

将执行重定向的代码部分更改为:

Service

(我假设您示例中的@Service public class RunnerApp implements CommandLineRunner { @Autowired private BeanFactory beanFactory; @Override public void run(String... strings) throws Exception { String qualifierValue = "archiveRar"; // or String qualifierValue = "archiveZip"; Archive archive = beanFactory.getBean(qualifierValue, Archive.class); System.out.println(archive.makeArchive()); } } 实际上是实际代码中的有效网址。)

您还应该在重定向语句之后放置 window.location.href = "URL"; 语句,否则它将无法显示,因为页面位置在此之前已经更改。