jQuery $ .ajax () с PHP

Я пытаюсь использовать jQuery $ .ajax (), но я столкнулся с некоторыми трудностями.

Вот поле текстового поля, которое я хочу использовать для POST:

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

Вот код:

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

Теперь это файл.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, как это сделать? Как вернуть их? : /

Related of "jQuery $ .ajax () с PHP"

Вы просто печатаете / эхом свое значение «return».

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

Тогда в вашем JS:

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

Как примечание. Ваш скрипт выглядит так, как будто он принимает любой URL-адрес и извлекает его. Можно так злоупотреблять сценариями. Убедитесь, что вы это знаете.

Если вы хотите вернуть некоторые переменные / поля, лучшим способом будет эхо-строка 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 } });