2010-04-27 6 views
5

ठीक है, इसलिए मैं Jquery के AJAX फ़ंक्शन का उपयोग कर रहा हूं और इसे http पते के साथ एक यूआरएल पास करने में परेशानी हो रही है। इसलिए मैं जीईटी मानों को "प्राप्त" करने और उन्हें किसी अन्य यूआरएल पर भेजने की उम्मीद कर रहा हूं - इसलिए: एक स्थानीय PHP फ़ाइल जीईटी मानों को पारित करना शुरू कर देता है, जो बदले में जीईटी मानों को दूसरे यूआरएल में भेजता है।आप php में किसी अन्य यूआरएल को मान कैसे प्राप्त कर सकते हैं? मान अग्रेषण

शायद कर्ल जवाब है? मुझे नहीं पता। मुझे पता है कि यह एक बहुत छोटा जवाब होना चाहिए।

छद्म कोड:

//retrieve the GET values 
$var retrieve [GET] 

//passing it to another url 
send get values to url ($var, url_address) 

संपादित करें: यह जावास्क्रिप्ट के लिए एक क्रॉस पटकथा समाधान है।

+0

यह केवल मुझे ही हो सकता है, लेकिन मुझे सवाल पूरी तरह से नहीं मिल सकता है। क्या यह जेएस या PHP सवाल है? इन सभी कार्यों को उठाए जाने पर उपयोगकर्ता क्या देखता है? –

+0

उपयोगकर्ता कुछ भी नहीं देखता है, यह AJAX है। मूल्य जीईटी के साथ भेजा जा रहा है। हालांकि jQery.ajax http पसंद नहीं है। इसलिए मैं उन मूल्यों को सेवा [अन्य यूआरएल] में अग्रेषित करने की कोशिश कर रहा हूं जिसका मैं उपयोग कर रहा हूं। समझ में आता है? यहां jQuery.ajax फ़ंक्शन के बारे में पढ़ें और यह कैसे "http" पसंद नहीं करता http://api.jquery.com/jQuery.ajax/ – michael

+0

AJAX बिल्कुल HTTP है। चूंकि वेब के लिए कोई अन्य प्रोटोकॉल नहीं है। जाओ पता लगाओ। और उपयोगकर्ता को कुछ देखना है। कम से कम वही पृष्ठ जहां वह रहता है। खैर, यह अनुरोध, jquery या php भेजने के लिए क्या जाता है? यदि यह PHP है - तो यह सब jquery पृष्ठभूमि क्यों? –

उत्तर

5

आप उपयोगकर्ता रीडायरेक्ट करने के लिए करना चाहते हैं:

header('Location: http://example.com/page.php?' . http_build_query($_GET, '', '&')); die(); 

यदि फिर भी तुम सिर्फ पृष्ठ लाने में चाहते हैं, यह का उपयोग करें:

file_get_contents('http://example.com/page.php?' . http_build_query($_GET, '', '&')); 
0

header("Location: http://otherurl.com/page?var=" . $var);

+0

जो बहुत अच्छी तरह से काम नहीं कर रहा है। मैं फायरबग के कंसोल में 302 त्रुटि प्राप्त कर रहा हूं। – michael

+1

PHP में '।' ऑपरेटर के साथ Concatenation किया जाता है। – alex

+0

-1, यह जीईटी मूल्यों को बिल्कुल आगे नहीं भेजता है। –

0

तुम सिर्फ unset()http_build_query() उपयोग करने से पहले किसी GET परम बाहर करने के लिए, चाहते हैं। $_GET पैराम्स की एक श्वेतसूची शामिल करना भी एक अच्छा विचार हो सकता है जिसे आप पास करना चाहते हैं।

header('Location: http://example.com/new?' . http_build_query($_GET)); 
    exit; 

Docsexit() को मत भूलना।

+0

क्या आप निश्चित हैं कि जेएस ऑब्जेक्ट ऐसी प्रतिक्रिया को समझ पाएगा? –

+0

@ कोल। श्रापनेल मैंने 100% प्रश्न को समझ नहीं लिया, लेकिन उम्मीद थी कि स्ब्लॉम सही रास्ते पर था। – alex

0

मिल गया! धन्यवाद एलिक्स एक्सेल!

echo file_get_contents('http://example.com/page.php?'. http_build_query($_GET, '', '&')); 
+0

'file_get_contents()' के माध्यम से अनुरोध करते समय आप जीईटी पैरा में शामिल होने के लिए '& 'का उपयोग कर सकते हैं। मुझे लगता है कि पृष्ठ पर उन्हें प्रतिबिंबित करते समय आपको केवल उन्हें एन्कोड करने की आवश्यकता है। – alex

+0

यह जावास्क्रिप्ट के साथ होने वाली क्रॉस डोमेन स्क्रिप्टिंग समस्या है। याहू के बारे में एक लेख है, वे curl का उपयोग करते हैं - थोड़ा और जटिल। http://developer.yahoo.com/javascript/howto-proxy.html तो कोड की यह पंक्ति एक साधारण PHP प्रॉक्सी है। – michael