2016-12-27 7 views
7

मेरे पास 2 पृष्ठ हैं और पहले पृष्ठ में, मैंने AJAX के माध्यम से एक और पृष्ठ (दूसरा पृष्ठ) कहा। दूसरे पृष्ठ में एक फॉर्म है जो AJAX के माध्यम से भेजता है फिर पृष्ठ को फिर से लोड करता है। लेकिन जब दूसरा पृष्ठ रीफ्रेश होता है, तो मेरा पहला पृष्ठ भी रीफ्रेश होता है। लेकिन मुझे यह नहीं चाहिए। मैं केवल अपने आंतरिक पृष्ठ को पुनः लोड करना चाहता हूं। क्या केवल आंतरिक पृष्ठ को पुनः लोड करने का कोई तरीका है?किसी अन्य पृष्ठ के अंदर किसी पृष्ठ को रीफ्रेश कैसे करें?

$(document).ready(function() { 
 
    $(document).on('click', '.MyForm button[type=submit]', function(e) { 
 
    e.preventDefault() // To make sure the form is not submitted 
 
    var $frm = $(this).closest('.MyForm'); 
 
    console.log($frm.serialize()); 
 
    $.ajax(
 
     $frm.attr('action'), 
 
     { 
 
      method: $frm.attr('method'), 
 
      data: $frm.serialize(), 
 
      success: function(data) { $(".error").html(data), window.location.reload();} 
 
    
 
     } 
 
    ); 
 
    }); 
 
});
.error{width:200px; height:50px;border:1px solid blue;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script> 
 
    <form class="MyForm" method="post"> 
 
    <input type="text" placeholder="name" value="Aynaz" name="a1" /> 
 
    <select name="Avg"> 
 
     <option value="1">1</option> 
 
     <option value="2">2</option> 
 
    </select> 
 
    <button type="submit">Submit</button> 
 
    <div class="error">Show form success here after page reload</div> 
 
    </form>

+0

आंतरिक पृष्ठ लोड करने के लिए पहले स्थान पर उपयोग कर रहे हैं। आप इसे अपने 'मूल पृष्ठ' में कैसे लोड कर रहे हैं? Iframe? कृपया – anu

+0

स्पष्टीकरण दें क्या आप पूरे दस्तावेज को एक स्निपेट के रूप में दिखा सकते हैं, संभवतः एक जेएसएफडल में? –

+0

@anu पृष्ठ पर सरल ऑनक्लिक घटना के साथ लोड हो रहा है: $ ('div') लोड ('innerpage.htm'); –

उत्तर

0

निकालें विधि = रूप से "पोस्ट": यहाँ मेरी भीतरी पेज कोड है।

0

आप में आंतरिक पृष्ठ बना सकते हैं और फिर केवल इस अनुभाग को पुनः लोड कर सकते हैं।

4

window.location.reload() हमेशा पूरे पृष्ठ को पुनः लोड करेगा। load() फ़ंक्शन जैसा ही आप इसे आंतरिक पृष्ठ

$.ajax(
      $frm.attr('action'), 
      { 
       method: $frm.attr('method'), 
       data: $frm.serialize(), 
       success: function(data) { 
        $(".error").html(data); 
        $('.div').html('').load('innerpage.htm');// reload the div 
       } 

      } 
     ); 
+0

(.div) क्या है? मैं इसे चौंका देता हूं ? –

+0

आपने इस प्रश्न के तहत टिप्पणियों में इसका उल्लेख किया है। आपने बताया कि आप आंतरिक पृष्ठ को कैसे लोड कर रहे हैं। क्या यह मामला नहीं है? – anu

+0

कोई कोड दूसरे पृष्ठ को मुख्य पृष्ठ में लोड करने के लिए नहीं था। मेरा सवाल यह था कि दूसरे पृष्ठ को अलग से कैसे लोड किया जाए। पहले पृष्ठ को पुनः लोड किए बिना –

संबंधित मुद्दे