2011-08-05 6 views
7
私はこのような jQuery.ajaxを使用してこのデータを投稿しようとすると、私は今私の textarea

HTTPエラー414要求URLが長すぎます

<textarea id="editorAbout" rows="70" cols="80" name="editorAbout"></textarea> 

内のいくつかのデータをフォーマットするためにCKEditorバージョンを使用しています

var about=escape($("#editorAbout").text()); 
      $.ajax({ 
      type: "POST", 
      url: "../Allcammand.aspx?cmd=EditAboutCompany&about="+about, 
      type:"post", 
       async: false , 
        success: function(response){          

        }, 
        error:function(xhr, ajaxOptions, thrownError){alert(xhr.responseText); } 
      }); 

エラーが発生します。

HTTPエラー414。リクエストURLが長すぎます。

私はここでエラーを取得しています:http://iranfairco.com/example/errorLongUrl.aspx
そのページの左下にテキスト編集ボタンをクリックしてみてください。

どうしてですか?どうすれば解決できますか?

+0

URLに**トン**のテキストを追加します。 URLはそれを処理するようには設計されていません。あなたはURLの中に入れようとするのではなく、POSTの本文にテキストを送るべきです。 –

+0

あなたが投稿していることが大好きですが、実際にはGETです。 :) – epascarello

答えて

17

this questionによれば、URLの実際の最大長は2000文字です。これはあなたが送信しようとしているような大規模なWikipediaの記事を保持することはできません。

URLにデータを置く代わりに、POSTリクエストの本体に配置する必要があります。 ajax関数呼び出しに渡すオブジェクトにdataの値を追加する必要があります。

function editAbout(){ 

    var about=escape($("#editorAbout").text()); 
    $.ajax({ 
     url: "Allcammand.aspx?cmd=EditAboutCompany&idCompany="+getParam("idCompany"), 
     type:"post", 
     async: false, 
     data: { 
      about: about 
     }, 
     success: function(response){          
     }, 
     error:function(xhr, ajaxOptions, thrownError){alert(xhr.responseText); ShowMessage("??? ?? ?????? ??????? ????","fail");} 
    }); 
} 
+0

'allCommand.aspx'でデータを受け取る方法 – ashkufaraz

+0

リクエストでこれを取得することができます[" about "] – ashkufaraz

+0

allcommandが20000文字を超えると再試行するとき... $ .ajax({ url:" Allcammand .aspx?cmd = getAbout&idCompany = "+ getParam(" idCompany ")、 async:false、 成功:関数(応答){alert(応答); } }); – ashkufaraz

0

私の場合、「POST」を使用していてもサーバーへの呼び出しが成功したにもかかわらずエラーが発生しました。それは奇妙な...私はdatatype属性が欠落していたということになったが、今では私の場合は

  return $.ajax({ 
      url: url, 
      type: 'POST', 
      dataType: 'json', 
      data: JSON.stringify(data) 
     }) 
1

に動作します、ランタイムエラーがちょうどポストコールの前にありました。それを修正して問題を解決しました。

実行時エラーが、$('#example').val()の要素(undefined)が存在しないと解釈しようとしました。

これは確かに、誰かを助けると確信しています。

関連する問題