2012-03-31 8 views
42

साथ एक चर मैं जानता हूँ कि मैं के साथ एक div में html में लोड कर सकते हैं में एचटीएमएल लोड करते हैं:मैं कैसे jQuery

my_var = load("http://www.mypage.com"); 
:

$("#my_div").load("http://www.mypage.com"); 

लेकिन मैं क्या करना चाहते हैं की तरह एक चर में लोड एचटीएमएल है

कोई भी मदद महान है।

HLS.functions.LoadSideModules = function() { 
    HLS.sideModuleContent = new Object(); 
    for(var i = 0; i < HLS.currentModuleConfig.POLICIES.POLICY.length; i++) { 
     for(var y = 0; y < HLS.currentModuleConfig.POLICIES.POLICY[i].PAGES.PAGE.length; y++) { 
      for(var POS in HLS.currentModuleConfig.POLICIES.POLICY[i].PAGES.PAGE[y]) { 
       var item = HLS.currentModuleConfig.POLICIES.POLICY[i].PAGES.PAGE[y][POS]; 
       if(!HLS.sideModuleContent[item]) { 
        HLS.sideModuleContent[item] = j.get(HLS.config.K2GETMODULE + HLS.currentModuleConfig.POLICIES.POLICY[i].PAGES.PAGE[y][POS]); 
       } 
      } 
     } 
    } 
}; 

उत्तर

68
$.get("http://www.mypage.com", function(my_var) { 
    // my_var contains whatever that request returned 
}); 

jQuery के नीचे एक ajax अनुरोध जो किसी URL पर आग का शुभारंभ करेंगे:

मैं जैसे पाश कुछ आइटम हालांकि करना चाहते हैं। यह समझदारी से अनुमान लगाने का प्रयास करता है कि कौन सा डेटा प्राप्त किया जा रहा है (यदि यह वैध HTML है जिसे आपको निर्दिष्ट करने की आवश्यकता नहीं है)। यदि आप किसी अन्य डेटा प्रकार प्राप्त करने के लिए की जरूरत है तो बस गुजारें कि के रूप में अंतिम तर्क में, उदाहरण के लिए

$.get("http://www.mypage.com", function(my_var) { 
    // my_var contains whatever that request returned 
}, 'html'); // or 'text', 'xml', 'more' 

संदर्भ: .get()

+0

यह मेरे लिए काम करता है, लेकिन लोड के बाद कंसोल में त्रुटि दिखाता है: "Uncaught SyntaxError: अप्रत्याशित टोकन <"। कोई विचार क्यों? –

26

तुम भी एक तत्व स्मृति में लोड() उस पर बना सकते हैं और इस्तेमाल कर सकते हैं:

var $div = $('<div>'); 

$div.load('index.php #somediv', function(){ 
    // now $(this) contains #somediv 
}); 

लाभ आप index.php आप चाहते हैं का कौन सा हिस्सा एक चयनकर्ता (#somediv)

1

का उपयोग कर एक नए तत्व बनाते समय से लोड करने के लिए निर्दिष्ट कर सकते हैं वह यह है कि एक विकल्प है, आप किसी तत्व को क्लोन भी कर सकते हैं। यह सभी गुणों और पुराने नोड के मानों की प्रतिलिपि बनाता है, जैसा कि यह कहता है, 'सटीक क्लोन'।

यदि आप एचटीएमएल के केवल एक विशेष खंड की प्रतिलिपि बनाना चाहते हैं, तो यह प्राप्त तत्व से विशेष तत्व पदानुक्रम (यानी, सभी बच्चों के साथ) में सभी सामग्री को भरने के लिए लचीलापन भी प्रदान करता है।

उदाहरण के लिए, यदि पदानुक्रम है -

<div id='mydiv'> 
    <div> 
     <span> 
     ...</span> 
    </div> 
</div> 

//... 

var oldElement = document.getElementById('mydiv'); 
var newElement = oldElement.cloneNode(true); 

/* #selector selects only that particular section & the '> *' enables to copy all of the child nodes under the parent #selector 
Replace URL with the required value 
function specification is optional... */ 

jQuery(newElement).load(URL+'#selector > *'[,function(response, status, xhr){}]); 

//... 

अब आप प्रोग्राम के चर newElement की प्रक्रिया के रूप में आप (और साथ ही देशी जावास्क्रिप्ट का उपयोग करते हुए, क्योंकि यह एक देशी तत्व है) चाहते हैं कर सकते हैं।

1
function includeHTML_callBack(result){ 
     var my_var = result; 
    } 

    function includeHTML(link, callBack) { 
      var xhttp = new XMLHttpRequest(); 
      xhttp.onreadystatechange = function() { 
      if (this.readyState == 4 && this.status == 200) { 
       callBack(this.responseText); 
      } 
      }  
      xhttp.open("GET", link, true); 
      xhttp.send(); 
      return; 
    } 

    includeHTML("http://www.mypage.com", includeHTML_callBack);