2015-02-18 15 views
7

जब मैं अपने नियंत्रक को AJAX के माध्यम से पोस्ट डेटा पास करता हूं तो यह खाली होता है। AJAX में डेटा अभी भी है लेकिन जब मैं इसे नियंत्रक भेजता हूं तो यह कहता है कि यह खाली है।लार्वा AJAX POST अनुरोध खाली है

AJAX:

function usernameCheck() 
{ 
    var input = document.getElementById("usernameInput"); 
    var icon = document.getElementById("userIcon"); 
    var xmlhttp, 
     username = document.getElementById("usernameInput"), 
     message = document.getElementById("usernameMessage"); 

    if (username.value != "") { 
     if (window.XMLHttpRequest) { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
     } else { 
      // code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) { 

       // FOR DEBUGGING 
       console.log(xmlhttp.responseText); 

      } 
     } 
    } 

    xmlhttp.open("POST", "usernamevalidation", true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.send("username=" + username.value); 
    } 
    } 

routes.php:

Route::post('usernamevalidation', '[email protected]'); 

UserController.php:

class UserController extends BaseController { 

    public function validateUsername() { 

     // FOR DEBUGGING 
     dd(Input::all()); 

    } 
} 

कोड है कि मैं console.logged (जो खाली है और शामिल करना चाहिए उपयोगकर्ता नाम):

<pre class='xdebug-var-dump' dir='ltr'> 
<b>array</b> <i>(size=0)</i> 
    <i><font color='#888a85'>empty</font></i> 
</pre> 
+0

'dd (\ request :: getContent) आज़माएं) और देखें कि यह आपको क्या देता है। – Dencker

+0

पहले AJAX अनुरोध डीबग करें। अपना ब्राउज़र कंसोल खोलें और हेडर में AJAX अनुरोध फॉर्म डेटा देखें। – SKG

+1

यह मुझे 500 आंतरिक सर्वर त्रुटि देता है, मैंने इसे सादा php $ _REQUEST के साथ करने की कोशिश की, और यह भी खाली है। –

उत्तर

3

जागरूकता में कि मैं आखिरी टिप्पणी के बाद एक साल बाद अपना उत्तर दे रहा हूं, मैंने लैरवेल 5.2 का उपयोग करके कुछ त्रुटि पर ठोकर खाई है और XMLHttpRequest ऑब्जेक्ट्स के साथ काम कर रहा है: आखिर में मैंने पोस्ट अनुरोध शीर्षकों का विश्लेषण और तुलना करने के लिए समाप्त किया है, जो मुझे बस दोनों की स्थापना करने के लिए नेतृत्व:

xmlhttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); 
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8'); 

वह मेरी खाली responseText हल किया। आशा है कि यह किसी और की मदद कर सकता है या भविष्य के संदर्भ के लिए उपयोग किया जा सकता है।

+0

कोड में किस बिंदु पर यह सेट है? – Pila

+0

@Pila, ओपी की कोड सूची को देखते हुए, आपको 'openRequestHeader' को' XMLHttpRequest' ऑब्जेक्ट पर 'ओपन' विधि पर कॉल करने के बाद कॉल करना चाहिए। – wiredolphin

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