2013-01-08 15 views
9

मैं इसे थोड़ी देर के लिए हल करने की कोशिश कर रहा हूं, लेकिन मुझे इसे काम नहीं मिल रहा है। जब कोई उपयोगकर्ता किसी लिंक पर क्लिक करता है तो उसे यह पुष्टि करने के लिए कहा जाता है कि वह यह कार्रवाई करना चाहता है। फिर एक AJAX कॉल किया जाता है। जिस स्क्रिप्ट को कॉल किया जाता है वह ठीक काम करता है और एक स्ट्रिंग देता है जहां रीडायरेक्ट करना है।window.location.href AJAX सफलता पर काम नहीं कर रहा

मैंने खिड़की के साथ समस्याओं पर कई पोस्ट देखी हैं। स्थान, लेकिन उनमें से कोई भी मेरा हल नहीं कर सकता।

मेरे कोड:

function confirm(a,b,c){ 
     var r=confirm("Are you sure to do this?"); 
     if(r==true){ 
      $.ajax({ 
       type: "POST", 
       url: "/process-action.php", 
       async: false, 
       data: {a:a,b:b,c:c}, 
       success: function(data){ 
        window.location.href = data; 
       } 
      }); 
     } else { 
      return false; 
     } 
    } 

मैं देख सकता हूँ मैं alert(data)window.location.href = data के बजाय करते हैं कि सही डेटा पारित कर दिया है। उदाहरण के लिए/उपयोगकर्ता/होमपेज। फिर भी, पुनर्निर्देशन नहीं हो रहा है।

यदि पूरे यूआरएल के साथ सापेक्ष पथ को प्रतिस्थापित करने का प्रयास किया गया, लेकिन यह काम नहीं करता था।

+0

स्थान का प्रयास करें.href = डेटा – Andy

उत्तर

16

कोशिश assign() बजाय का उपयोग कर:

window.location.assign(data); 

window.location.href एक संपत्ति, नहीं एक विधि है।

+0

धन्यवाद, यह काम किया! – user1662927

+0

मेरे लिए काम नहीं :(IE 11 – Reena

+0

में @reena यह ठीक काम करना चाहिए त्रुटियों –

-1

तुम भी विंडो स्थान = "someurl" का उपयोग कर सकते हैं;

+0

यह दृष्टिकोण एंड्रॉइड पर आधुनिक क्रोम मोबाइल ब्राउज़र में काम नहीं करता है। ।रोरी मैकक्रॉसन उत्तर से असाइन() दृष्टिकोण का उपयोग इसके बजाय किया जाना चाहिए। –

0

आप इस

<form action="submit.php" onsubmit="return false;" method="post">

और अपने ही स्क्रिप्ट हो जाएगा काम का उपयोग कर सकते हैं।

+0

कृपया – Panther

+0

को बताएं जब आप AJAX का उपयोग करके फ़ॉर्म सबमिट कर रहे हैं, तो आप सफलता पर स्थान पुनः लोड नहीं कर पाएंगे क्योंकि फ़ॉर्म कार्रवाई करने के लिए सबमिट करेगा। इसलिए हमने सबमिट पर फ़ंक्शन जोड़ा है, इसलिए फॉर्म सबमिट नहीं होगा और आप बिना किसी त्रुटि के AJAX और पुनः लोड पृष्ठ के साथ डेटा भेज सकते हैं। –

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