русский  עברית
tadam logo
דוגמאות jQuery
מצאתם שגיאה?
סמנו אותה עם העכבר ותלחצו
Ctrl + Enter
בדיקת כתיב Xhtml.co.il
Orphus system

jQuery.get( url, [ data ], [ success(data, textStatus, jqXHR) ], [ dataType ] )

מחזירה: jqXHR
תיאור: טוען נתונים משרת באמצעות שיטה GET.

ארגומנטים

jQuery.get( url, [ data ], [ success(data, textStatus, jqXHR) ], [ dataType ] )

הוספה בגרסה: 1.0
השתנה בגרסה: 1.5
מחרוזת, מכילה URL שאליו נשלחת שאילתה.
מפה או מחרוזת שנשלחת לשרת עם הבקשה.
success(data, textStatus, jqXHR)
פונקציה שמופעלת כל פעם אחרי טעינת הנתונים מוצלחת.
dataType
סוג של הנתונים
סוג של הנתונים שצפוי משרת. בברירת מחדל: אינטליגנטים (xml, json, script, או html).
זו פונקציה מקוצרת של Ajax, ששווה ל:
$.ajax({
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

פונקציה של קריאה חוזרת success מעבירה נתונים שחזרו, שיהיו אלמנט שורש של XML, מחרוזת טקטס, קובץ JavaScript, או אובייקט JSON, תלוי בסוג תשובה של MIME. היא גם שולחת סטטוס של תשובה.

החל מ jQuery 1.5, פונקציה של קריאה חוזרת success גם מעבירה אובייקט "jqXHR"jQuery 1.4, היא העבירה אובייקט XMLHttpRequest). עם זאת, מאז JSONP ובקשות חוצות דפדפנים של GET לא משתמשים ב XHR, במקרים האלה פרמטרים (j)XHR ו textStatus הנשלחים לפונקציה של קריאה חוזרת לא מוגדרים.

רוב היישומים יציינו מטפל ביצוע מוצלח:
$.get('ajax/test.html', function(data) {
  $('.result').html(data);
  alert('Load was performed.');
});
דוגמה הזו מקבלת חלק HTML ומכניסה אותו בדף.

אובייקט jqXHR

החל מ jQuery 1.5, כל השיטות של jQuery Ajax מחזירות אובייקט מורחב של XMLHTTPRequest. זה אובייקט jQuery XHR, או "jqXHR", המוחזר על ידי $.get() מיישם את ממשק Promise, הוא נותן את כל המאפיינים, השיטות, ואת ההתנהגות של Promise (ראו אובייקט נדחה עבור מידע מלא). לנוחות ועקביות עם פונקציה קריאה חוזרת שמות, המשתמשים ב $.ajax(), הוא מספק שיטות .error(), .success() ו .complete(). השיטות האלה מקבלות ארגומנט של פונקציה המופעלת כאשר בקשה מסתיימת, ופונקציה מקבלת אותם ארגומנטים, בהתאם לשמות של פונקציה של קריאה חוזרת $.ajax().

ממשק Promise ב jQuery 1.5 גם מאפשר לשיטות jQuery Ajax, כולל $.get(), לחבר פונקציות מרובות של קריאה חוזרת .success(), .complete() ו .error() על בקשה היחידה, ואף מקצה פונקציות של קריאה חוזרת האלה אחרי שבקשה כבר הסתיימה. אם בקשה כבר הסתיימה, פונקציה של קריאה חוזרת מופעלת מייד.

// Assign handlers immediately after making the request,
  // and remember the jqxhr object for this request
  var jqxhr = $.get("example.php", function() {
    alert("success");
  })
  .success(function() { alert("second success"); })
  .error(function() { alert("error"); })
  .complete(function() { alert("complete"); });

  // perform other work here ...

  // Set another completion function for the request above
  jqxhr.complete(function(){ alert("second complete"); });

הערות נוספות:

  • בשל מגבלות אבטחה בדפדפן, רוב הבקשות של "Ajax" תלויות ב כללים המגבילים את דומיין; בקשה לא יכולה לקבל נתונים מדומיין אחר, תת דומיין או פרוטוקול.
  • אם בקשה עם jQuery.get() מחזירה קוד שגיאה, היא תכשל בדממה אלא אם התסריט מפעיל גם שיטה גלובלית .ajaxError(). החל מ jQuery 1.5, שיטה .error() של אובייקט jqXHR המוחזר על ידי jQuery.get() גם נגישה עבור טיפול בשגיות.
  • תסריט ובקשות JSONP הם לא כפופים להגבלות של דומיין.

דוגמאות

דוגמה 1

מבקשת דף test.php, אבל מתעלמת מתוצאה שחוזרת.
$.get("test.php");

דוגמה 2

מבקשת דף test.php ושולחת מספר נתונים נוספים ( אבל עדיין מתעלמת מתוצאה שהתקבלה ).
$.get("test.php", { name: "John", time: "2pm" } );

דוגמה 3

שולחת מערכים של נתונים לשרת ( אבל עדיין מתעלמת מתוצאה שהתקבלה ).
$.get("test.php", { 'choices[]': ["Jon", "Susan"]} );

דוגמה 4

מציגה בהודעה תוצאה של בקשת דף test.php ( HTML או XML, תלוי במה שהוחזר ).
$.get("test.php", function(data){
   alert("Data Loaded: " + data);
 });

דוגמה 5

מציגה בהודעה תוצאה של בקשת דף test.cgi עם טעינת נתונים נוספים ( HTML או XML, תלוי במה שהוחזר ).
$.get("test.cgi", { name: "John", time: "2pm" },
   function(data){
     alert("Data Loaded: " + data);
   });

דוגמה 6

מקבל תוכן של דף test.php, שמוחזר בפורמט jsonש(<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>).
$.get("test.php", { "func": "getNameAndTime" },
   function(data){
     alert(data.name); // John
     console.log(data.time); //  2pm
   }, "json");
האם מידע זה היה מועיל?
   

תגובות