سؤال

أنا أتصل بـ JSP عن طريق تمرير المعلمات التي تخرج JSON صالحة كرد ، ولكن لا يزال $.getJson وظيفة رد الاتصال لا يتم إطلاق النار. إخراج صفحة JSP هو

 { "data": [ [ [ 1258185480000,4.39], 
               [ 1258186020000,4.31],
               [ 1258184940000,4.39],
               [ 1258183560000,4.39]  ] ] }

يشير عنوان URL إلى صفحة JSP

لي jQuery الرمز هو

<script id="source" language="javascript" type="text/javascript">
$(function () {   
  alert("before");
  $.getJson(URL,function(json){
            alert("hello");
          var plot = $.plot($("#placeholder"), json.data, options);
    });

 alert("after");
});
هل كانت مفيدة؟

المحلول

الوظيفة هي $ .getjson و لا $.getJson

نصائح أخرى

$.getJSON( URL, function(data) {
  alert("hello");
});

ليس سوى اختصار لمكالمة أياكس

$.ajax({
  dataType: "json",
  url: URL,
  data: data,
  success: function(data) {
    alert("hello");
  }
});

لكن

هام: اعتبارًا من jQuery 1.4 ، إذا كان ملف JSON يحتوي على خطأ في بناء الجملة ، فسوف يفشل الطلب عادةً بصمت ... على سبيل المثال ، جميع الأوتار الممثلة في JSON ، سواء كانت خصائص أو قيم ، يجب إرفاقها بوسائل مزدوجة

مصدر: jquery.getjson مستندات

لقد قضيت للتو حوالي ساعتين في هذا. لقد وجدت منشورًا آخر يناقش الفرق بين $.getJSON و $.get وكيف لا يوجد حقًا. لذلك قمت بتبديل بلدي getJSON() إلى عن على get() وعملت.

(أريد أيضًا أن أذكر أنني كنت قد تحقق أيضًا من أن كل شيء آخر كان يعمل من خلال التسجيل من حركة القضبان وتسجيل ما أستطيع من JavaScript الخارج وظيفة رد الاتصال.)

$. GetJson لن تستخدم رد الاتصال بدون كائن JSON المناسب للمعالجة.

تأكد أيضًا من Firebug أنك تحصل على JSON صالح من الخادم.

ل jQuery 3.4.1:

$.getJSON("test.json", function (json) {
    console.log('Got JSON');
    console.log(json);

})
.fail(function (jqxhr, textStatus, error) {
    var err = textStatus + ", " + error;
    alert("There has been an error. If the problem persists contact the customer service");
})
.always(function () {
    console.log("complete");
});

إذا كنت تعتقد أن JSON على ما يرام وأنك تستخدم Chrome جرب "ذاكرة التخزين المؤقت الفارغة وإعادة التحميل الثابت".

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