2013-06-01 13 views
5

के साथ मैं jQuery $ .ajax() का उपयोग करने की कोशिश कर रहा हूं लेकिन मुझे कुछ कठिनाइयों का सामना करना पड़ रहा है।

<input name="url" class="url" type="text" > 

कोड यह रहा::

$.ajax({ 
     type: "post", 
     url: "file.php", 
     data: $(this).serialize(), 
     success: function(data) { ............... 

अब इस file.php है:

यहाँ पाठ बॉक्स क्षेत्र है कि मैं पोस्ट के लिए उपयोग करना चाहते हैं है

<?php 
if($_REQUEST['url']) 
{ 

    $url = $_REQUEST['url']; 
    $url = file_get_contents($url); 
    // I would need now to return something here but not sure how??!! 
} 
?> 

अब , मेरा सवाल यह है कि, इस PHP कोड में चर वापस कैसे करें और ऊपर दिए गए मेरे कोड में उनका उपयोग करें, मेरा मतलब $ .ajax() के सफल भाग में है। अगर मैं $ url चर पर कुछ अतिरिक्त सामान करना चाहता हूं, तो इसे कैसे करें? उन्हें वापस कैसे करें? :/

उत्तर

1

आप बस अपने 'वापसी' मान को प्रिंट/गूंजते हैं।

file.php

<?php 
if($_REQUEST['url']) 
{ 

    $url = $_REQUEST['url']; 
    $url = file_get_contents($url); 
    // I would need now to return something here but not sure how??!! 
    echo "something"; 
} 
?> 

फिर अपने जे एस में:

$.ajax({ 
    type: "post", 
    url: "file.php", 
    data: $(this).serialize(), 
    success: function(data) { 
     console.log(data); // "something" 
    } 
}); 

एक पक्ष नोट के रूप में। आपकी स्क्रिप्ट ऐसा लगता है कि यह किसी भी यूआरएल को स्वीकार करता है और इसे लाता है। इस तरह की स्क्रिप्ट का दुरुपयोग करना संभव है। सुनिश्चित करें कि आप जानते हैं कि।

+0

और यह सही है कि जैसी चीजों का उपयोग करने के लिए है: कुछ पाठ बॉक्स "$ (' ') .writeText (डेटा); "? –

2

यदि आप कुछ चर/फ़ील्ड वापस करना चाहते हैं, तो सबसे अच्छा तरीका JSON स्ट्रिंग को प्रतिबिंबित करना होगा। यहाँ एक छोटा सा उदाहरण है:

पीएचपी कोड:

<?php 
if($_REQUEST['url']) 
{ 

    $url = $_REQUEST['url']; 
    $url = file_get_contents($url); 

    $result['var1'] = 'something'; 
    $result['var2'] = 500; 

    echo json_encode($result); 
} 
?> 

जे एस कोड:

$.ajax({ 
    type: "post", 
    url: "file.php", 
    data: $(this).serialize(), 
    dataType: 'json', // maybe not needed? I do not know if jQuery autodetects it 
    success: function(data) { 
     // here you can use data.var1 and data.var2 to read the fields 
    } 
});