2013-03-19 11 views
5

मेरे पास 1 php फ़ाइल नाम index.php है। उस फ़ाइल में मैं एक चर को AJAX से php तक पास करना चाहता हूं।पास चर से AJAX से php

var elem = document.getElementById("mydiv").value; 
(function($) 
{ 
    $(document).ready(function() 
    { 
     $.ajax(
     { 
      type:"POST", 
      url: window.location.href, 
      data: 'action='+elem, 
      beforeSend: function() { 
       $('#cctv').hide(); 
      }, 
      complete: function() { 
       $('#cctv').show(); 
      }, 
      success: function() { 
       $('#cctv').show(); 
      } 
     }); 
     var $container = $("body"); 
     $container.load('findAllPath.php',{'function': 'findAllPath'}); 
     var refreshId = setInterval(function() 
     { 
      $container.load('findAllPath.php',{'function': 'findAllPath'}); 
     }, 10000); 
    }); 
})(jQuery); 

और मेरे php

if (isset ($_POST['action'])) 
{ 
    echo $_POST['action']; 
} 

फ़ायरबग में, मुझे लगता है कि पहले से ही ajax पोस्ट 'कार्रवाई = मान' लेकिन php में, $ _POST [ 'कार्रवाई'] देख सकते हैं खाली है। कोई मेरी मदद कर सकता है, मेरे कोड में क्या गलत है? आप

+0

क्या जारीकर्ता परीक्षण पास हो जाता है? क्या यह सेट है लेकिन बस एक खाली स्ट्रिंग के लिए? – Dutts

+0

पृष्ठ पर कहां से यह जावास्क्रिप्ट निष्पादित किया गया है? उदाहरण के लिए, क्या यह ' 'टैग के अंदर है, या नीचे,' के पास है? –

+0

क्वेरी स्ट्रिंग के बजाय 'डेटा' को हैश बनाने का प्रयास करें। – halfer

उत्तर

1

सेट इस रूप में json वस्तु धन्यवाद:

data: {action: elem} 

और शुद्ध जे एस के साथ jQuery मिश्रण नहीं है।

var elem = $('#myDiv').val(); 

और ऊपर के दोस्त के रूप में। ऐसी स्थिति हो सकती है जहां जेएस पूरे पृष्ठ लोड होने से पहले मूल्य संपत्ति प्राप्त करने का प्रयास कर रहा है। आपको दस्तावेज़ तैयार ब्लॉक में सबकुछ करना चाहिए।

तुम भी कर सकते हैं:

data: { 
action: $('#myDiv').val() 
} 

आपको यह सुनिश्चित करना है तो आप फार्म पर नवीनतम डेटा है कि हो जाएगा!

4

इस

data: {action: elem}, 

उदाहरण के लिए की तरह डेटा का उपयोग कर

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: { name: "John", action: "save" } 
    }).done(function(msg) { 
    alert("Data Saved: " + msg); 
}); 

printr पूरे $ _REQUEST का प्रयास करें और देखें कि क्या आपके इस के लिए कार्रवाई

में
+0

के साथ जेएस मैंने पहले ही कोशिश की है, लेकिन कोई अलग नहीं है :( –

1

देखो हो रही है और लगता है कि तुम क्या चूक गए

$.ajax({ 
     type: "POST", 
     url: "some.php", 
     data: { action: elem} 
     beforeSend: function() { 
      $('#cctv').hide(); 
     }, 
     complete: function() { 
      $('#cctv').show(); 
     }, 
     success: function() { 
      $('#cctv').show(); 
     } 
    }); 
    var $container = $("body"); 
    $container.load('findAllPath.php',{'function': 'findAllPath'}); 
    var refreshId = setInterval(function() 
    { 
     $container.load('findAllPath.php',{'function': 'findAllPath'}); 
    }, 10000); 
}); 
+0

हम्म? मुझे यह नहीं मिलता है, अगर आपका यूआरएल है: "some.php" और window.location.href नहीं, कोई अलग –

+0

डेटा नहीं बना रहा है: 'action =' + elem, यह गलत है एक, क्या आपको जवाब नहीं मिल रहा है या समझने में असमर्थ हैं? –

0
if (!empty($_POST['action'])) 
{ 
echo $_POST['action']; 
} 

इस कोड को आजमाएं ...

+0

लेकिन $ _POST ['action'] अपरिभाषित है, इसलिए खाली परीक्षण पास नहीं होगा –

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