2009-08-07 15 views
18

का उपयोग किये बिना POST विधि का उपयोग कर यूआरएल में पैरामीटर पोस्ट करना मैं POST विधि का उपयोग कर यूआरएल में पैरामीटर पोस्ट करना चाहता हूं लेकिन मैं एक फॉर्म का उपयोग नहीं कर सकता। यहां तक ​​कि यदि मैं एक फॉर्म का उपयोग करता हूं, तो इसे उपयोगकर्ता इंटरैक्शन के साथ ऑटो-पोस्ट करना होगा। क्या यह संभव है? मैं यह कैसे कर सकता हूँ?एक फॉर्म

+0

इससे मदद मिल सकती है: http://stackoverflow.com/questions/28395/passing-post-values-with-curl – random

+1

क्या यह किसी भी तरह से PHP से संबंधित है? – innaM

उत्तर

13

आप जावास्क्रिप्ट और XMLHttpRequest (AJAX) इस्तेमाल कर सकते हैं एक फार्म का उपयोग किए बिना एक पोस्ट करने के लिए। this link देखें। ध्यान रखें कि आपको अपने ब्राउज़र में जावास्क्रिप्ट सक्षम करने की आवश्यकता होगी।

+1

यदि URL किसी अन्य डोमेन पर है तो यह _not_ काम करेगा। सही? –

+0

यह तब भी काम करेगा जब यूआरएल दूसरे डोमेन पर है। –

+0

@UweKeim अधिकार! –

0

यह कर्ल या AJAX के साथ किया जा सकता है। प्रतिक्रिया उत्तर के रूप में समान रूप से गूढ़ है।

4

curl एक विकल्प है, अजाक्स का उपयोग करके, साथ ही सामने के अंत के साथ बैक-एंड समस्याओं को हल करने के लिए बहुत साफ नहीं है।

एक cURL के बिना यह करने के बारे में बहुत उपयोगी पोस्ट इस एक है: http://netevil.org/blog/2006/nov/http-post-from-php-without-curl

कोड यह करने के लिए (अपरीक्षित, असंशोधित, ब्लॉग पोस्ट से):

function do_post_request($url, $data, $optional_headers = null) 
{ 
    $params = array('http' => array(
       'method' => 'POST', 
       'content' => $data 
      )); 
    if ($optional_headers !== null) { 
     $params['http']['header'] = $optional_headers; 
    } 
    $ctx = stream_context_create($params); 
    $fp = @fopen($url, 'rb', false, $ctx); 
    if (!$fp) { 
     throw new Exception("Problem with $url, $php_errormsg"); 
    } 
    $response = @stream_get_contents($fp); 
    if ($response === false) { 
     throw new Exception("Problem reading data from $url, $php_errormsg"); 
    } 
    return $response; 
} 
24

का उपयोग jQuery.post

$.post(
    "http://theurl.com", 
    { key1: "value1", key2: "value2" }, 
    function(data) { 
    alert("Response: " + data); 
    } 
); 
-1

यदि आप कोड से ऐसा करने के बजाय कुछ से लिंक करने का प्रयास कर रहे हैं, तो आप अपना अनुरोध रीडायरेक्ट कर सकते हैं: http://getaspost.appspot.com/

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