मैं एक Google क्रोम ब्राउज़र एक्सटेंशन बना रहा हूं जो $.ajax
का उपयोग करता है जो मेरे सर्वर पर वेबपृष्ठों से डेटा भेजने के लिए अनुरोध करता है (वर्तमान में लोकलहोस्ट का उपयोग करके होस्ट किया गया है)। content_script.js
फ़ाइल है कि (more on content scripts) वेबपेजों के संदर्भ में निष्पादित किया जा रहा है विस्तार के लिए इस कोड रन की पहुंच न हो:अजाक्स अनुरोध सफल हुआ लेकिन परिणाम खाली है
//note: encode64String is assigned earlier in the script...
$.ajax({
type: "POST",
url: "http://localhost:8888/quartzsite/uploadendpoint.php",
type: "jsonp",
data: {img: encode64String},
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function(data){
console.log("The ajax request succeeded!");
console.log("The result is: ");
console.log(data);
},
error: function(){
console.log("The request failed");
}
});
समस्या यह है कि Ajax
अनुरोध सफलता मिल रही है है, लेकिन data
तर्क है कि यह देता है
वर्तमान में uploadedendpoint.php
फ़ाइल की सामग्री हैं:: के बाद कोड चलता है खाली ...
कंसोल इस तरह दिखता है
0,123,<?php
header("Access-Control-Allow-Origin: *");
echo 'This comes from php file'; die();
?>
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
The content of the document......
</body>
</html>
इसका मतलब है कि data
चर में कम से कम कुछ लौटाया जाना चाहिए।
मैंने और पुष्टि की है कि अनुरोध सफल रहा है क्योंकि जब मैं टूटा हुआ यूआरएल (यानी uploaddddddendpoint.php) के अनुरोध को भेजता हूं तो $.ajax
के error
पैरामीटर के अंदर कोड निष्पादित किया जाता है।
मैं jQuery $.ajax response empty, but only in Chrome की तरह लेकिन कोई लाभ नहीं हुआ इसी तरह के सवाल को पढ़ लिया है ...
अद्यतन:
मैं अमान्य दूसरा type: "jsonp"
पैरामीटर पूरी तरह से हटा दिया है और dataType: "text/html"
जोड़ लिया है। अब कोड को चलाने पर हर बार ajax
अनुरोध विफल रहा है।
अद्यतन: अजीब dataType : "html"
को dataType : "text/html"
बदल रहा एक खाली data
चर के साथ फिर से सफल हो लेकिन करने के लिए ajax
अनुरोध का कारण बनता है। अद्यतन: देव टूलकिट का उपयोग करते समय नेटवर्क एक्सएचआर इन भेजा/प्रतिक्रिया संदेशों की निगरानी करने के लिए:
के साथ संभव दोहराव का झंडा के संबंध को Impossible to cross site ajax api calls in a chrome extension? मैं अन्यथा सुझाव है! मैंने उस प्रश्न की जांच की है और समस्या एक जैसी प्रतीत नहीं होती है।
PHP फ़ाइल की अपनी पहली पंक्ति पर इसे आज़माएं: ' Php echo 'यह php फ़ाइल से आता है'; मरने(); ?> '- जांचें कि क्या आपको यह कंसोल में मिलता है। – Sergio
नेटवर्क टैब क्या दिखाता है? 'jsonp' प्रकार को हटाने का प्रयास करें। – akonsu
@ सर्जियो कोई बदलाव नहीं ... – Brannon