2011-10-26 58 views
0

jQuery Ajaxを使用してサーバーにデータを送信します。ポストタイプはPOSTとして設定しますが、データは常にGETメソッドを使用して送信されます。 Postメソッドを使ってデータを送信するには?

$.ajax({ 
     type: "POST",   
     dataType: 'jsonp',    
     url: 'http://do.convertapi.com/Web2Image/json/', 
     data: { 
      'CUrl':$('#txtUrl').val(), 
      'OutputFormat':'png', 
      'PageWidth':600, 
      'ApiKey':apiKey 
     }, 
     jsonp: "callback", 
     success: function (data) {    
     if (data.Result) 
     {     
      $('#imgSnapShot').attr('src','data:image/png;base64,'+data.File); 
      $('#dvStatus').text("Converted successfully!"); 
     } 
     else { 
      $('#dvStatus').text("Error: " + data.Error); 
     }    
     }, 
     }); 

Graham Clarkが投稿したように、jsonpのAjaxリクエストは常にGETとして送信されます。 jsonpオプションを削除すると、別の問題が発生します。クロスドメインの投稿エラーです。私の問題の解決策はありますか?

答えて

0

jsonpは常にGETリクエストで送信されます。 POSTが必要な場合は、jsonを使用してください。詳細はthis questionを参照してください。

+0

私はjsonpを使ってクロスドメイン投稿の問題を克服しています。 – Tomas

1

が、それでもいくつかのいずれかが、それが役に立つ見つけた場合... もっと最近のブラウザでは、クロスオリジンリソース共有(CORS)と呼ばれる技術を実装している、:詳細については、こちらを参照してください。異なるドメインへのAjaxリクエストを許可します。 jsonpの代わりにcorsを使用する必要があります

関連する問題