का उपयोग कर रहा हूँ जहाँ मेरे प्रपत्र तीन क्षेत्रोंबेसिक प्रमाणीकरण jQuery/ajax
- उपयोगकर्ता नाम
- पासवर्ड
- अनुदान प्रकार
है एक रूप मैं प्रस्तुत करने पर बुनियादी प्रमाणीकरण पृष्ठ बनाने के लिए कोशिश कर रहा हूँ बस जेएसओएन प्रारूप में मेरे एचटीएमएल पर एक सर्वर से लौटा प्रतिक्रिया प्रदर्शित करना चाहते हैं। वेब सेवा के लिए मेरा AJAX कॉल भी प्राधिकरण हेडर सेट करने की आवश्यकता है। लेकिन किसी भी तरह हेडर सेट नहीं हो रहे हैं। मैं
beforeSend : function(xhr)
{
xhr.setRequestHeader('Authorization', "Basic ******");
xhr.setRequestHeader("contentType", "application/json;charset=UTF-8");
}
कोशिश कर रहा हूँ लेकिन जब मैं कंसोल में कोड डीबग ऐसा लगता है ब्रेकप्वाइंट कभी नहीं इस समारोह में चला जाता है। मैं अजाक्स के लिए नौसिखिया हूं और इंटरनेट पर googling द्वारा कोड नीचे कोशिश की है। मैं नीचे पूरा कोड पोस्ट कर रहा हूं।
कोड:
$(document).ready(function() {
// process the form
$('form').submit(function(event) {
// get the form data
var formData = {
'username': $('#username').val(),
'password': $('#password').val(),
'grant_type': $('#grantType').val()
};
// process the form
$.ajax({
type : 'POST',
url : 'http://localhost:9090/oauth/token',
beforeSend: function (xhr)
{
xhr.setRequestHeader("Authorization", "Basic ******");
xhr.setRequestHeader("contentType", "application/json;charset=UTF-8");
},
data : formData, // our data object
dataType : 'json', // what type of data do we expect back from the server
encode : true
})
// using the done promise callback
.done(function(data) {
// log data to the console so we can see
console.log(data);
alert(data);
// here we will handle errors and validation messages
})
.fail(function (jqXHR, textStatus){
alert('Status : ' + textStatus + '' + JSON.stringify(jqXHR));
});
// stop the form from submitting the normal way and refreshing the page
event.preventDefault();
});
});
यह मेरे कोड में हेडर स्थापित करने के लिए नहीं पैदा कर क्या। कृपया मुझे सही करें।
कंसोल (गूगल क्रोम) नेटवर्क टैब में में, मैं अनुरोध हेडर
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:accept, authorization, content-type, contenttype
Access-Control-Request-Method:POST
Connection:keep-alive
Host:192.168.1.128:9090
Origin:null
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
और त्रुटि नीचे कंसोल में प्रकट होता है नीचे देख सकते हैं।
और जब से गूगल क्रोम के लिए उन्नत बाकी ग्राहक विस्तार ही एपीआई बुला यह मुझे पता चलता सभी हेडर
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
contentType: application/json;charset=UTF-8
Authorization: Basic **********
Content-Type: application/x-www-form-urlencoded
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
मैं बस फ़ाइल प्रोटोकॉल का उपयोग कर अपने वेब पृष्ठ चल रहा हूँ।
पूर्व: file:///E:/Mahendra/Practice%20Example/Test/OauthTest.html
मैं अगर यह एक समस्या का कारण है यकीन नहीं है।
संभावित डुप्लिकेट [AJAXSetup (पहले काम नहीं कर रहा है] (http://stackoverflow.com/questions/19361908/ajaxsetup-beforesend-not-working) – abc123
यह भी एक कॉरस मुद्दा प्रतीत होता है, क्रॉस-ओरिजिनल अनुरोध अवरुद्ध, http: // stackoverflow .com/प्रश्न/5750696/कैसे-टू-ए-क्रॉस-मूल-संसाधन-साझाकरण-कोर-पोस्ट-अनुरोध-काम कर रहे – abc123