2017-03-14 5 views
0
$.ajax({ 
     url: '/comment_rewards/' + comment_reward_id + '/pay.js', 
     type: 'POST', 
     data: {channel: reward_style, reward_num: reward_num}, 
     dataType: "script", 
     cache: true 
    }) 
    .done(function() { 
     console.log("success"); 
     reward.closeShade() 
     reward.infoPrompt("支付成功!", "success") 
    }) 
    .fail(function() { 
     console.log("error"); 
    }) 
    .always(function() { 
     console.log("complete"); 
    }); 

他の使用可能な応答タイプにdataTypeを設定していて、「成功」ですが応答jsファイルが機能していません。 Firefox、Webkit(Safari、Chrome)の と動作します。 IEコンソールの "エラー" アイデア?dataTypeスクリプトを設定するとIEが起動しないjQuery Ajaxが成功する

+0

コンソールエラーは何ですか? – evolutionxbox

+0

コンソールエラーメッセージは、フェール機能のみを処理しません。 –

+1

したがって、フェイル機能が呼び出されていますか?関数にparamを追加し、それを記録します。例えば。 ' – evolutionxbox

答えて

1

IEはデフォルトでX-Requested-With:XMLHttpRequestヘッダーを設定していない可能性があります。通常のheadersプロパティを使用してAjax呼び出しで追加することで、手動で設定します。

$.ajax({ 
    url: '/comment_rewards/' + comment_reward_id + '/pay.js', 
    type: 'POST', 
    data: {channel: reward_style, reward_num: reward_num}, 
    headers:{ 
     X-Requested-With: "XMLHttpRequest" 
    } 
    dataType: "script", 
    cache: true 
}) 

$ ajaxのオンラインマニュアルを参照して、ヘッダーの設定方法を確認してください。 https://api.jquery.com/jquery.post/

関連する問題