2017-11-19 5 views
1

マイコード:JSONの成功のために他の場所にリダイレクトしますか?

<script> 
    $('#form').submit(function() { 
    $.ajax({ 
     type: 'POST', 
     url: $(this).attr('action'), 
     dataType: 'json', 
     success: function(json) { 
     window.location.href = "http://www.example.com"; 
     } 
    }); 
    return false; 
    }); 
</script> 

FORM:フォームプレスは、私が何をしたいのか、それだけでJSON成功メッセージであるアクションページに行く提出

<form id="form" class="center" action="http://localhost/products/index.php?route=checkout/cart/add" method="post"> 
    <input type="text" name="cname"> 
    <input type="hidden" name="product_id" value="51"> 
    <input type="submit"> 
</form> 

アクションページ以外の別のページにリダイレクトされますが、コードが機能していないようです。

私のコードには正確に何が間違っていますか?

あなたが私を助けてくれると大変感謝しています。

答えて

2

POSTをかなり役に立たないようにするデータは投稿していません。

はまた、あなたは何のエラーハンドラを持っていないのいずれか

試してください:あなたはエラー処理のために、このコードを使用することができます

$(function(){ 
    $('#form').submit(function() { 

     var $form = $(this); 

     $.ajax({ 
      type: 'POST', 
      url: $form.attr('action'), 

      // data to send 
      data: $form.serialize(), 

      dataType: 'json', 
      success: function(json) { 
       window.location.href = "http://www.example.com"; 
      }, 
      error: function(){ 
       // do something when request fails - See $.ajax docs 
      } 
     }) 
     return false; 
    }); 
}); 
+0

、あなたが他のページ/サイトにリダイレクトすることができ、成功の方法で (window.location.href =「http://www.EXAMPLE.com」) localhost/products/index.php?route = checkout/cart/add – rakupu

+0

このコードでも、別の場所に移動するためのエラー関数を追加しましたが、コードを完全に無視するようです。 – rakupu

+0

ページ。 '$(function(){/ * code here * /} ')を必ず入れてください。 – charlietfl

0

!あなたはjQueryの/ JavaScriptを使用して別のページにリダイレクトするためのStackOverflowの上でこの質問を次もチェック: click here

$('#form').submit(function() { 
    var $form = $(this); 
    $.ajax({ 
    type: 'POST', 
    url: $form.attr('action'), 

    // data to send 
    data: $form.serialize(), 
    dataType: 'json', 
    success: function(json) { 
     window.location.href = "http://www.example.com"; 
    }, 
    error: function (jqXHR, exception) { 
     var msg = ''; 
     if (jqXHR.status === 0) { 
     msg = 'Not connect.\n Verify Network.'; 
     } else if (jqXHR.status == 404) { 
     msg = 'Requested page not found. [404]'; 
     } else if (jqXHR.status == 500) { 
     msg = 'Internal Server Error [500].'; 
     } else if (exception === 'parsererror') { 
     msg = 'Requested JSON parse failed.'; 
     } else if (exception === 'timeout') { 
     msg = 'Time out error.'; 
     } else if (exception === 'abort') { 
     msg = 'Ajax request aborted.'; 
     } else { 
     msg = 'Uncaught Error.\n' + jqXHR.responseText; 
     } 
     alert(msg); 
    }, 
    }); 
}); 
0

あなたは以下のような別のエラーと成功のハンドラを持っている必要があります。 //:できるだけ早く私はそれだけでhttp JSONレスポンスに私を取るフォームを送信するよう

var ajaxUpdateRequest = { 
url: '/dotnethelpers/UpdateUsers', 
dataType: 'json', 
success: updateSuccessfully, //Separate method for handling success 
error: showError //Separate method for handling error 
}; 
関連する問題