2011-08-05 12 views
7

मैं CKEditor उपयोग कर रहा हूँ अब मेरी textareaHTTP त्रुटि 414. अनुरोध URL बहुत बड़ा है

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

अंदर कुछ डेटा स्वरूपित करने के लिए जब मैं इस डेटा jQuery.ajax इस तरह का उपयोग कर पोस्ट करने की कोशिश,

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

ठीक है, आप यूआरएल में ** टन ** टेक्स्ट जोड़ते हैं। यूआरएल को संभालने के लिए डिज़ाइन नहीं किया गया है। यूआरएल में डालने की कोशिश करने के बजाय आपको POST के शरीर में पाठ भेजना चाहिए। –

+0

प्यार जो आप पोस्ट कर रहे हैं, लेकिन यह वास्तव में एक प्राप्त है। :) – epascarello

उत्तर

17

this question के अनुसार यूआरएल की अधिकतम व्यावहारिक लंबाई 2000 वर्ण है। यह एक बड़े विकिपीडिया लेख को पकड़ने में सक्षम नहीं होगा जैसा कि आप भेजने की कोशिश कर रहे हैं।

यूआरएल पर डेटा डालने के बजाय आपको इसे 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

में डेटा (लगभग) कैसे प्राप्त किया जा सकता है, मैं इसे अनुरोध कर सकता हूं [" के बारे में "] – ashkufaraz

+0

जब ऑल कमांड 20000 से अधिक चरित्र को फिर से चालू कर देता है ... $ .ajax ({ url:" Allcammand .aspx? cmd = getAbout और idCompany = "+ getParam (" idCompany "), async: false, सफलता: फ़ंक्शन (प्रतिक्रिया) {चेतावनी (प्रतिक्रिया); } }); – ashkufaraz

0

मेरे मामले में, त्रुटि पोस्ट की गई थी, भले ही मैं 'POST' का उपयोग कर रहा था और सर्वर पर कॉल सफल रहा। ऐसा नहीं है कि मैं डेटाप्रकार विशेषता ... अजीब याद आ रही थी होने के लिए बदल गया, लेकिन अब यह

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

काम करता है मेरे मामले में, वहाँ बस पोस्ट कॉल करने से पहले एक रन-टाइम त्रुटि थी। इसे ठीक करने से समस्या हल हो गई।

रन-टाइम त्रुटि $('#example').val() पढ़ने की कोशिश कर रही थी जहां $('#example') तत्व मौजूद नहीं है (यानी undefined)।

मुझे यकीन है कि यह निश्चित रूप से किसी की मदद करेगा।

संबंधित मुद्दे