2009-08-24 7 views
11

मैं एक साइट से दूसरे स्थान पर पोस्ट डेटा भेजने के लिए कह रहा हूं (दोनों साइटें हमारे द्वारा विकसित की गई हैं)। समस्या यह है कि यदि पृष्ठ किसी अन्य डोमेन से अनुरोध किया जाता है तो POST चर उपलब्ध नहीं हैं। भले ही मैं इसे स्थानीय रूप से जांचूं, लेकिन पूरा यूआरएल निर्दिष्ट करें, POST डेटा चला गया है।PHP में क्रॉस डोमेन POST-ing को सक्षम करने के लिए कैसे करें?

तो, यह काम करेगा:

<form method="POST" action="test.php"> 

लेकिन यह ऐसा नहीं करेंगे:

<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <form method="post" action="http://example.com/test.php"> 
     <input type="text" name="request" value="" id="" /> 
     <input type="submit" value="" id="" /> 
    </form> 
</body> 
</html> 

टिप्पणियाँ मुझे लगता है कि मिल गया के बाद:

<form method="POST" action="http://example.com/test.php"> 

यहाँ पृष्ठ के HTML है यह काम करना चाहिए, मैंने इसे किसी अन्य सर्वर पर परीक्षण किया और वहां सबकुछ ठीक से काम करता था। यह पहले सर्वर https पर सक्षम तथ्य के साथ कुछ करने के लिए हो सकता है। लेकिन अगर ऐसा है, तो मुझे यह अजीब लगता है कि मुझे जानकारी वापस मिलती है लेकिन सिर्फ पोस्ट डेटा गायब हो गया है।

+2

में यह काम करना चाहिए। क्या आप पूरा फॉर्म पोस्ट कर सकते हैं? –

+0

नीचे देखें (केवल यूआरएल निर्दोष :) \t \t \t \t \t \t \t

\t \t \t \t \t \t \t \t
\t –

+0

@coen - मैं आपके सवाल का अपनी टिप्पणी जोड़ने के लिए अद्यतन किया है - आप शुरुआत में HTTP की क्या ज़रूरत है टिप्पणी –

उत्तर

18

आपको क्या ठीक काम करना चाहिए - फॉर्म समान मूल नीति से पहले आए - आपको विभिन्न डोमेन पर सबमिट करने की अनुमति है।

अगर मुझे अनुमान लगाना था, तो मैं कहूंगा कि किसी भी तरह से 301 या 302 रीडायरेक्ट हो रहा है? उदाहरण के लिए फ़ायरबग के साथ HTTP हेडर का पालन करें उदाहरण के लिए।

+0

वास्तव में एक पुनर्निर्देशन था; http से https –

+0

क्या इसके लिए कोई समाधान है? – salmanhijazi

2

जैसा कि अन्य ने कहा है, ऐसा करने में कोई समस्या नहीं होनी चाहिए। मैं, कुछ सरल के साथ अपने test.php स्क्रिप्ट की जगह इस

<?php 
echo "<pre>"; 
var_dump($_POST); 
echo "</pre>"; 

की तरह आप यह काम करता है, जिसका अर्थ है दोष "असली" लिपि में कहीं निहित है खोजना चाहिए हो सकता है कि यह भी एक सुझाव है ...

+0

यह वही है जो मैंने किया था, और मैंने कैसे सत्यापित किया कि वास्तव में POST चर सभी 2 मामलों में से केवल एक में गायब हैं –

1

टाइम्सवर:

यदि आप डोमेन.com पर पोस्ट करते हैं तो सुनिश्चित करें कि यह www.domain.com पर रीडायरेक्ट नहीं किया गया है। रीडायरेक्ट POST चर को खाते में नहीं लेता है, केवल GETVariables।

यदि यह www.domain.com पर रीडायरेक्ट हो जाता है तो www जोड़ें। आपके पोस्ट-एक्शन

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