मैं XMLHttpRequest ऑब्जेक्ट का उपयोग कर किसी फ़ॉर्म से JSON डेटा भेजने की कोशिश कर रहा हूं। मैं निम्नलिखित फ़ंक्शन का उपयोग कर डेटा भेज सकता हूं। फायरबग में कोई त्रुटि दिखाई नहीं दे रही है और अनुरोध में जेएसओएन-डेटा फ़ायरबग द्वारा अच्छी तरह से प्रदर्शित किया गया है।XMLHttpRequest w/o का उपयोग करके PHP पर JSON डेटा भेजें jQuery
हालांकि, मैं echo.php, क्या सामान्य रूप से सामग्री रिटर्न को डेटा भेजने:
<?php
print_r($_POST);
print_r($_GET);
foreach (getallheaders() as $name => $value) {
echo "$name: $value\n";
}
echo file_get_contents('php://input');
?>
बाद सरणी हमेशा खाली है, लेकिन मैं JSON स्ट्रिंग file_get_contents
द्वारा वापस देख सकते हैं। यह कैसे होता है? मैं क्या गलत कर रहा हूं?
Array
(
)
Array
(
)
Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: eo,de-de;q=0.8,de;q=0.6,en-us;q=0.4,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Referer: http://localhost/form.html
Content-Length: 88
Cookie: {{..to much data..}}
Pragma: no-cache
Cache-Control: no-cache
{"type":"my_type","comment":"commented"}
की
उत्पादन भेजने समारोह:
function submit(){
var data={};
data.type=document.form.type.value;
data.comment=document.form.comment.value;
//get right XMLHttpRequest object for current browsrer
var x=ajaxFunction();
var string = JSON.stringify(data);
x.open('POST','echo.php',true);
x.setRequestHeader('Content-type','application/json; charset=utf-8');
x.setRequestHeader("Content-length", string.length);
x.setRequestHeader("Connection", "close");
x.onreadystatechange = function(){
if (x.readyState != 4) return;
if (x.status != 200 && x.status != 304) {
alert('HTTP error ' + req.status);
return;
}
data.resp = JSON.parse(x.responseText);
if(data.resp.status=='success'){
alert('That worked!');
}else{
alert('That didn\'t work!');
}
}
x.send(string);
return false; //prevent native form submit
}
'अलर्ट ('HTTP त्रुटि' + req.status);' ==> पुनः परिभाषित नहीं किया गया, क्या आपका मतलब 'x' था? –