2013-01-10 30 views
12

नहीं कहा गया था, यह मेरा AJAX कॉल है। मेरी उदाहरण यूआरएलत्रुटि:: jQuery को

{ 
    "response": [{ 
     "attributes": { 
      "type": "enge", 
      "url": "/services/data/v24.0/sobjects/Challenge__c/a0GZ0000005Vvh4MAC" 
     }, 
     "name": "Really", 
     "end_date": "2013-02-07T15:26:00.000+0000", 
     "total": 350.0, 
     "registered_members": 0.0, 
     "id": "30", 
     "type": "Design", 
     "id": "a0GZ0000005Vvh4MAC", 
     "start_date": "2012-11-19T16:52:00.000+0000", 
     "description": "This is my really cool challenge", 
     "remaining_days": 28.0, 
     "categories__r": [{ 
      "attributes": { 
       "type": "Category__c", 
       "url": "/services/data/Category__c/a08Z0000000RNI2IAO" 
      }, 
      "id": "0RNI2IAO", 
      "display_name": "Andy" 
     }, { 
      "attributes": { 
       "type": "Category__c", 
       "url": "/services/Category__c/a08Z0000000RNI3IAO" 
      }, 
      "id": "a0O", 
      "display_name": "ADR" 
     }] 
    } 

    }], 
    "count": 1 
} 

मैं एक क्रॉस-डोमेन कॉल करने के लिए कोशिश कर रहा हूँ और हो रही त्रुटि से

$.ajax({ 
    type: "GET", 
    url: "http://example.com/v1/search?keyword=r", 
    dataType: "jsonp", 
    crossDomain: true, 
    success: function (responseString) { 
     alert(responseString); 
    }, 
    error: function (xhr, errorType, exception) { 
     var errorMessage = exception || xhr.statusText; 
     alert(errorMessage); 
    } 
}); 

रिस्पांस

jQuery180014405992737595236_1357861668479 was not called 

अद्यतन

खैर मैं दा का उपयोग करने की कोशिश की taType: "json" लेकिन उस बिंदु पर हो रही त्रुटि

No Transport 
+3

क्या आपका दूरस्थ पृष्ठ एक उचित ढंग से बनाई गई JSONP प्रतिक्रिया उत्सर्जित कर रहा है? 'कॉलबैक ({/ * जेसन * /}) ' – Matt

+0

हां, प्रतिक्रिया जेएसओएन है, जेएसओएनपी नहीं। –

+0

@ फ़ेलिक्सक्लिंग अच्छी तरह से मैंने डेटा टाइप का उपयोग करने की कोशिश की: जेसन लेकिन त्रुटि "कोई परिवहन" – iJade

उत्तर

8

या तो एक नेटवर्क त्रुटि या समाप्त मुद्दा यह है कि एक JSONP उत्तर न लौटाए पता चलता है कि।

(मैं DNS लुकअप विफलता मैं जब परीक्षण यह है, क्योंकि है कि आपका वास्तविक URL नहीं है मिल अनुमान लगा रहा हूँ (उदाहरण के यूआरएल के लिए example.com का इस्तेमाल करें, कि क्या इसके लिए है) यदि नहीं, तो है कि आपकी है मुसीबत)।

+3

+1 प्राप्त करना, और 'example.com' टिप्पणी के लिए फिर से +1 (अगर मैं कर सकता था)! ;-) –

+0

डेटा के लिए खेद है, यह मेरा असली यूआरएल नहीं है ..... मैंने अपडेट किया है – iJade

+1

यह एक सही बिंदु है जो सही जेसनपी की सेवा नहीं कर रहा है, अगर यह नेटवर्क त्रुटि थी तो उसे इसके बजाय त्रुटि कोड प्राप्त होगा। – Christoph

4

यह एक गलत JSONP प्रतिक्रिया है। सर्वर को GET के तर्क को संसाधित करने की आवश्यकता है, इसे फ़ंक्शन रैपर के रूप में अनुरोध करें और उसकी सेवा करें।

उचित प्रतिक्रिया तो इस तरह दिखना चाहिए:

nameOfCallbackFunction({"yourjson": "here"}); 
+0

है, तो आपका मतलब है कि यह एक जेसनपी प्रतिक्रिया नहीं है लेकिन जेसन प्रतिक्रिया है। मैंने जेसन के साथ प्रयास किया डेटा टाइप लेकिन कोई परिवहन त्रुटि नहीं मिली है। मैंने प्रश्न – iJade

+0

@jade अपडेट किया है क्या यह एक क्रॉसडोमेन कॉल है (आपका पृष्ठ कहां से आता है उससे भिन्न स्थान पर इंगित करता है)? यदि हां, तो आप केवल JSONP का उपयोग कर सकते हैं या [CORS] का उपयोग कर सकते हैं (http://enable-cors.org/) को रोकने के लिए [एसओपी] (http://de.wikipedia.org/wiki/Same-Origin- नीति) त्रुटियां। – Christoph

+0

वास्तव में मुझे नहीं पता कि इसका क्रॉस डोमेन है या नहीं। मुझे एक त्रुटि मिली क्रॉस डोमेन "नो ट्रांसपोर्ट" का उपयोग नहीं करते हैं, इसलिए बस googled और कुछ क्रॉस डोमेन का उपयोग करने का सुझाव दिया गया है – iJade

1

मैं जानता हूँ कि यह एक पुरानी धागा है, लेकिन एक क्रॉस डोमेन ajax काम कर उदाहरण पाने के लिए संघर्ष किया है। मैंने डेटा टाइप का उपयोग करने के बारे में बहुत कुछ पढ़ा है: jsonp और support.cors = true लेकिन 200 - सफलता मिली लेकिन एक पार्सरियन मिला।

तब मैं इस धागे में एक या दूसरे का उपयोग करने के बारे में पढ़ता हूं। मैंने फिर डेटा टाइप बदल दिया: जेसन को और support.cors = true छोड़ दिया और यह काम किया। आखिरकार । । ।

यह किसी अन्य व्यक्ति की मदद कर सकता है जो एक ही समस्या का सामना करता है।

-1

कारण है कि आप त्रुटि है JQueryXXXX यूआरएल आप बुला रहे हैं में कोई त्रुटि है, क्योंकि वहाँ, आप शुरू करने के लिए "= कॉलबैक??" की जरूरत है, इसलिए की तरह लग रहा है:

"http://example.com/v1/search?callback=?keyword=r" 
इसके अलावा

आप तो एक .php कॉल करें याद रखें:

header('Content-Type: application/json; charset=utf8');