2015-10-15 13 views
9

मैं Google टेक्स्ट-टू-स्पीच का उपयोग कर ऑडियो चलाने की कोशिश कर रहा हूं। इसलिए मुझे रेफरर और उपयोगकर्ता-एजेंट के साथ अपने एंडपॉइंट पर एक अनुरोध पोस्ट करना होगा। इस कॉल को एक एमपी 3 वापस करना चाहिए जिसे मैं खेल सकता हूं।अजाक्स अनुरोध: असुरक्षित शीर्षलेख सेट करने से इनकार कर दिया

हालांकि, मुझे "असुरक्षित शीर्षलेख सेट करने से इनकार कर दिया गया" त्रुटियां मिलती हैं। यह मेरा कोड है। मैं यह कैसे कर सकता हूं?

  $.ajax({ 
      url: 'http://translate.google.com/translate_tts?ie=UTF-8&q=Hello&tl=en&client=t', 
      beforeSend: function(xhr) { 
       xhr.setRequestHeader("Referer", "http://translate.google.com/"); 
       xhr.setRequestHeader("User-Agent", "stagefright/1.2 (Linux;Android 5.0)"); 
      }, success: function(data){ 
       el.mp3 = new Audio(data); 
       el.mp3.play(); 
      } 
      }); 
+0

संभावित डुप्लिकेट [jQuery के साथ AJAX अनुरोध में शीर्षलेख जोड़ें] (http://stackoverflow.com/questions/10093053/add-header-in-ajax-request-with-jquery) – Craicerjack

+1

कोई फर्क नहीं पड़ता कि आप कौन सा हेडर सेट करें, Google अनुवाद एंडपॉइंट CORS – adeneo

+0

का समर्थन नहीं करता है यह कर्ल से ... – Arturo

उत्तर

14

आप नहीं कर सकते। यह असंभव है।

specification की आवश्यकता है कि ब्राउज़र setRequestHeader विधि को रोक दें यदि आप उन शीर्षकों को सेट करने का प्रयास करते हैं।

यदि आपको उन शीर्षकों को सेट करने की आवश्यकता है तो आपको अपने सर्वर से अनुरोध करना होगा, न कि आपके आगंतुक का ब्राउज़र।

(यह कहा गया है कि, यदि आपको उपयोगकर्ता एजेंट या रेफरर के बारे में भ्रामक होने की आवश्यकता है तो आप शायद उस फैशन में सेवा का उपयोग करने की कोशिश कर रहे हैं, जिसका मालिक नहीं चाहता है, इसलिए आपको इसका सम्मान करना चाहिए और कोशिश करना बंद करना चाहिए) ।

"Fetch forbidden header names" भी देखें।

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