window.location.assign与Firefox中的AJAX无法正常工作

时间:2016-09-21 18:43:28

标签: javascript jquery ajax firefox

我有以下AJAX POST请求,它将序列化的表单数据发送到服务器:

// Handle form submission.
$('#evaluationform').on('submit', function(e){
    e.preventDefault();

    ajaxObject = {
        url: $("#evaluationform").attr("action"),
        type: 'POST',
        dataType: 'json',
        xhrFields: {
            withCredentials: true
        },
        crossDomain: true,
        data: $("#evaluationform").serialize(),
    };

    $.ajax(ajaxObject)
        .success(function(data,status,xhr) {
            window.location.assign("http://example.com/survey/instruction/thankyou.html");
        })
        .fail(function(data,status,xhr) {
            window.location.assign("http://example.com/survey/instruction/fail.html");
        })
        .always(function(data,status,xhr) {
            console.log(status);
        });
});

虽然在Chrome和Safari中遵循了分配路径,但它不在Firefox中。在Firefox中忽略了分配,而是将我释放到我的表单的操作属性中定义的API URL。

1 个答案:

答案 0 :(得分:0)

我总是使用这种语法,它适用于我:window.location = 'http://www.somesite.com';