2013-08-08 12 views
7

के बाद रीडायरेक्टिंग मैं होम पेज पर जाने के लिए AJAX पोस्ट पर सफलता चाहता हूं। किसी कारण से मैं इसे गलत कर रहा हूं। कोई फर्क नहीं पड़ता कि मुझे इसे ठीक करने के लिए क्या करना चाहिए?अजाक्स पोस्ट

window.APP_ROOT_URL = "<%= root_url %>"; 

अजाक्स

$.ajax({ url: '#{addbank_bankaccts_path}', 
type: 'POST', 
beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', '#{form_authenticity_token}')}, 
dataType: "json", 
data: 'some_uri=' + response.data.uri , 
success: function(APP_ROOT_URL) { 
     window.location.assign(APP_ROOT_URL); 
    } 
}); 
+0

क्या आप सुनिश्चित हैं कि AJAX सफलता के साथ लौट रहा है? –

+0

'window.location.href = APP_ROOT_URL' – abc123

+1

क्या आपको ब्राउज़र के कंसोल में कोई संदेश दिखाई देता है? – Uooo

उत्तर

13
success: function(response){ 
         window.location.href = response.redirect; 
        } 

आशा इस में मदद मिलेगी और मैं एक ही समस्या

+2

(-1) पर बनाना चाहता हूं क्योंकि 'असाइन' मान्य है, और JSON प्रारूप (उदा। रीडायरेक्ट प्रॉपर्टी) का कोई संकेत नहीं था। – FakeRainBrigand

+0

@FakeRainBrigand ठीक है धन्यवाद – Backtrack

+0

प्रिय डाउनवॉटर कृपया एक टिप्पणी छोड़ दें – Backtrack

6

आप रीडायरेक्ट स्थिति के साथ सर्वर से JSON लौट सकते हैं और यूआरएल अनुप्रेषित कर सकते हैं किया था।

{"redirect":true,"redirect_url":"https://example.com/go/to/somewhere.html"} 

और अपने jQuery ajax हैंडलर

success: function (response) { 
    // redirect must be defined and must be true 
    if (response.redirect !== undefined && response.redirect) { 
     window.location.href = response.redirect_url; 
    } 
} 

नोट आप ajax config में dataType: 'json' सेट करना होगा में। उम्मीद है कि यह सहायक है। धन्यवाद!

5

सुनिश्चित नहीं हैं कि क्यों, लेकिन window.location.href मेरे लिए काम नहीं किया। मैं इसके बजाय window.location.replace का उपयोग कर समाप्त हुआ, जो वास्तव में काम करता था।

$('#checkout').click(function (e) { 
    e.preventDefault(); 
    $.ajax('/post/url', { 
     type: 'post', 
     dataType: 'json' 
    }) 
    .done(function (data) { 
     if (data.cartCount === 0) { 
      alert('There are no items in cart to checkout'); 
     } 
     else { 
      window.location.replace('/Checkout/AddressAndPayment'); 
     } 
    }); 
}); 
संबंधित मुद्दे