इसलिए मैं अपनी साइट पर फ़ाइल अपलोड पर प्रगति पट्टी पाने का प्रयास कर रहा हूं। मैं बस संसाधनविकल्प 405 (विधि अनुमत नहीं है)
$.ajax({
url: $rootScope.URL, //Server script to process data
type: 'POST',
beforeSend: beforeSendHandler,
success: completeHandler,
error: errorHandler,
data: formData,
cache: false,
contentType: false,
processData: false
});
अपलोड करते हैं यह पूरी तरह से काम करता है, लेकिन अगर मैं घटना को जोड़ने के लिए प्रगति को सुनने के लिए:
$.ajax({
url: $rootScope.URL, //Server script to process data
type: 'POST',
xhr: function() { // Custom XMLHttpRequest
var myXhr = $.ajaxSettings.xhr();
if(myXhr.upload){ // Check if upload property exists
myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // For handling the progress of the upload
}
return myXhr;
},
beforeSend: beforeSendHandler,
success: completeHandler,
error: errorHandler,
data: formData,
cache: false,
contentType: false,
processData: false
});
मैं:
OPTIONS myserver.com/controller/filtercontroller.php? 405 (Method Not Allowed)
jQuery.ajaxTransport.send
jQuery.extend.ajax
(anonymous function)
jQuery.event.dispatch
jQuery.event.add.elemData.handle
XMLHttpRequest cannot load myserver.com/controller/filtercontroller.php?. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. The response had HTTP status code 405.
तो स्पष्ट रूप से अपने सर्वर नहीं करता है Access-Control-Allow-Origin
और OPTIONS
सही नहीं है? लेकिन filtercontroller.php
के शीर्ष 2 पंक्तियां हैं:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
मैं कई अलग अलग समाधान की कोशिश की है और कोई भी मेरे लिए काम किया है। एक बार उत्पादन ब्राउज़र header()
को भेजा जाता है वास्तव में एक PHP चेतावनी जो यदि आप नहीं देख रहे हैं प्रदर्शित किया जा रहा नहीं कर रहा है या ट्रैक फेंक होगा
एक्सेस-कंट्रोल-स्वीकृति-हेडर सर्वर/क्लाइंट कार्यान्वयन के आधार पर स्वीकार किए गए मान के रूप में अनुमति नहीं दे सकते हैं - http://stackoverflow.com/a/8719346/2155068 – MjrKusanagi
405 आमतौर पर वेब सर्वर द्वारा जारी किया जाता है । तो आप अपने वेब सर्वर की कॉन्फ़िगरेशन की जांच कर सकते हैं। –
@MjrKusanagi जो इस मामले में अप्रासंगिक है - एक्सेस-कंट्रोल-अनुमति-उत्पत्ति: * एक स्वीकार्य मूल्य है। – DIMMSum