2016-12-02 4 views
0

Mein Code gibt eine Bewertung zurück, wenn .find() erfolgreich ist und ein Daten vorhanden ist. Ich möchte einen Fehler zurückgeben, wenn keine Daten zum Elementnamen gefunden wurden. Wenn die Datei nameOfBusiness = Cafe, dann wird es die Bewertung 3 zurückgeben, aber wenn ich nameOfBusiness = Restaurant hätte, dann sollte es einen Fehler "Bewertung noch nicht veröffentlicht."Ajax - Ich möchte einen Fehler zurückgeben, wenn die Variable nichts zurückgibt

Daten meine XML-Form:

<resultitem> 
    <itemname>Cafe</itemname> 
    <rating>3</rating> 
</resultitem> 

ich den Ajax-Code haben:

$.ajax({ 
    type: 'GET', 
    url: 'someUrl.xml', 
    dataType: 'xml', 
    success: function(xml){ 
     var rating = "";         
     $(xml).find('resultitem itemname:contains("'+nameOfBusiness+'")').each(function(){ 
     rating = $(this).parent().find('rating').text() 
       if(rating==""){ 
        alert("Rating is not published yet."); 
       } else { 
        alert(rating); 
       } 

      }); 
     } 
    }); 

Antwort

0

Etwas wie folgt aus:

$.ajax({ 
    type: 'GET', 
    url: 'someUrl.xml', 
    dataType: 'xml', 
    success: function(xml){ 
     var rating = "";         
     var found = $(xml).find('resultitem itemname:contains("'+nameOfBusiness+'")'); 

     if (!found.length) { //HERE 
      alert('error'); 
      return; 
     } 

     found.each(function(){ 
      rating = $(this).parent().find('rating').text(); 
      if(rating==""){ 
       alert("Rating is not published yet."); 
      } else { 
       alert(rating); 
      } 

     }); 
    } 
}); 
+0

OMG es funktioniert !!! Ich danke dir sehr! –

Verwandte Themen