سؤال

أحاول أن أجعل صورتي تبحث مع Google Ajax Search أنا أستخدم jQuery. لذلك تحت الكود الخاص بي

$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello', function(data) {
    console.log(data);
});

وحدة التحكم المطبوعة فارغة ومعلومات XHR الخاصة بي

request URL:http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello
Request Headers
Accept:application/json, text/javascript, */*
Cache-Control:max-age=0
Origin:http://example.local
Referer:http://example.local/thread/create
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4

لست متأكدًا ما هو وونغ. ساعدني من فضلك

هل كانت مفيدة؟

المحلول

يحتاج عنوان URL الخاص بك إلى قرص طفيف لتشغيل JSONP ، أضف &callback=? في النهاية ، مثل هذا:

$.getJSON('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=hello&callback=?', function(data) {
  console.log(data);
});

يمكنك رؤيتها تعمل هنا, ، ألق نظرة على وحدة التحكم.

إذا رأى jQuery أ callback=? في عنوان URL ، يحل محله باسم وظيفة ينشئه (وهو الخاص بك function(data) رد الاتصال) ، وهذا ما يتم تشغيله عندما يعود طلب JSONP. يرى ال $.getJSON() توثيق لنفس المعلومات.

بدون هذا ، يحاول القيام بـ XMLHTTPrequest ، ويتم حظره بواسطة سياسة الأصل من نفس, ، لأنه في مجال آخر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top