طلب JSONP باستخدام JQuery $ .getjson لا يعمل على جون تشكيله بشكل جيد

StackOverflow https://stackoverflow.com/questions/2426179

  •  19-09-2019
  •  | 
  •  

سؤال

لست متأكدا هو ممكن الآن من عنوان URL الذي أحاوله. يرجى الاطلاع على عنوان URL هذا: http://www.heiaheia.com/voimakaksikko/stats.json.

يخدم دائما نفس وظيفة الحشو "voimakaksikkostats". يتم تشكيله بشكل جيد JSON، لكنني لم أتمكن من تحميله من الخادم البعيد. هل يحتاج إلى بعض العمل من جانب الخادم أو يمكن تحميله مع جافا سكريبت؟ أعتقد أن المشاكل يجب أن يكون لديك شيء مع وظيفة رد الاتصال بهذا ...

jQuery ليس متطلبات، ولكن سيكون لطيفا.

هذا (رد الاتصال = Voimakaksikkostats) يعود لا شيء (Firebug -> Net -> الاستجابة)، والتنبيه لا ينطلق:

$.getJSON("http://www.heiaheia.com/voimakaksikko/stats.json?callback=voimakaksikkoStats", function(data){
    alert(data);
})

ولكن هذا (رد الاتصال =؟):

 $.getJSON("http://www.heiaheia.com/voimakaksikko/stats.json?callback=?", function(data){
    alert(data);
})

عائدات:

voimakaksikkoStats({"Top5Sports":[],"Top5Tests":{"8":"No-exercise ennuste","1":"Painoindeksi","2":"Vy\u00f6t\u00e4r\u00f6n ymp\u00e4rys","10":"Cooperin testi","4":"Etunojapunnerrus"},"Top5CitiesByTests":[],"Top5CitiesByExercises":[],"ExercisesLogged":0,"Top5CitiesByUsers":[""],"TestsTaken":22,"RegisteredUsers":1});

لكنني لا أستطيع الوصول إليها ... في كلا الأمثلة على التنبيه لا يحرر أبدا. يمكن للشخص المساعدة؟

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

المحلول 5

<script type="text/javascript">
function voimakaksikkoStats(obj) {
    alert(obj.TestsTaken);
}
</script>
<script type="text/javascript" src="http://www.heiaheia.com/voimakaksikko/stats.json"></script>

لم أحصل عليه أبدا مع JQuery، لكن الرمز البسيط أعلاه حل مشاكلي. لقد وجدت مساعدة من ياهو: http://developer.yahoo.com/Common/json.html.

نصائح أخرى

<script type="text/javascript">
function voimakaksikkoStats(stats) {
  var ul = new Element('ul');
  ul.insert(new Element('li').update('Registered users: '+ stats['RegisteredUsers']));
  ul.insert(new Element('li').update('Tests taken: '+ stats['TestsTaken']));
  ul.insert(new Element('li').update('Top5 sports: '+ stats['Top5Sports'].join(', ')));
  $(document.body).insert({'bottom': ul});
}
</script>
<script type="text/javascript" src="http:/www.heiaheia.com/voimakaksikko/stats.json"></script>

يستخدم هذا المثال prototype.js لإنشاء قائمة مع بعض البيانات من إحصائيات المعينة، ثم يضع هذه القائمة في أسفل هيئة المستندات.

للحصول على وظيفة الاختبار الخاصة بك للعمل، حاول تغيير callback=?

هو البرنامج النصي يحاول جلب JSON من http://www.heiaheia.com. أيضا على http://www.heiaheia.com. ?

إذا لم يكن الأمر كذلك، فهذا السبب، فمن غير المفوض حاليا تقديم الطلب (باستخدام JavaScript) إلى خادم آخر من الخدمة التي تخدم البرنامج النصي

إذا ذهب طلبك إلى مجال Anonther، فحاول استخدام jsonp. طريقة. البحث عن مستندات JSONP

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