2013-06-01 5 views
5

jQuery $ .ajax()를 사용하려고하는데 어려움을 겪고 있습니다. 이제

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

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

다음 file.php 지금이

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

됩니다 : 여기

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

코드입니다 : 여기

내가 POST에 사용할 텍스트 상자 필드의 , 내 질문에,이 PHP 코드에서 변수를 반환하고 위의 코드에서 그들을 사용하는 방법, $ .ajax()의 성공 부분에서 의미합니다. 또한 $ url 변수에 몇 가지 추가 작업을 수행하려면 어떻게해야합니까? 그들을 돌려 보내는 방법? :/

답변

1

'반환'값만 인쇄/에코합니다. 당신의 JS에서

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" 
    } 
}); 

. 귀하의 스크립트는 URL을 받아 들여 그것을 가져 오는 것처럼 보입니다. 그런 스크립트를 남용하는 것은 가능합니다. 당신이 그것을 알고 있는지 확인하십시오.

+0

그리고 그것은 올바른 그 같은 것들을 사용하는 것입니다 : 텍스트 상자 ' "$를 ('). writeText (data); "? –

2

일부 변수/필드를 반환하려면 가장 좋은 방법은 JSON 문자열을 반향시키는 것입니다. 여기에 작은 예입니다

PHP 코드 :

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

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

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

    echo json_encode($result); 
} 
?> 

JS 코드 :

$.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 
    } 
});