Я начинаю использовать jquery $ .ajax (), но не могу вернуть то, что хочу ... Я отправляю это:
$(function(){
$.ajax({
url: "graph_data.php",
type: "POST",
data: "casi=56&nada=48&nuevo=98&perfecto=100&vales=50&apenas=70&yeah=60",
dataType: "json",
error:
function (xhr, desc, exceptionobj) {
document.writeln("El error de XMLHTTPRequest dice: " + xhr.responseText);
},
success:
function (json) {
if (json.error) { alert(json.error); return; }
var output = "";
for (p in json) {
output += p + " : " + json[p] + "\n";
}
document.writeln("Results: \n\n" + output);
}
});
});
и мой php:
<?php
$data = $_POST['data'];
function array2json($data){
$json = $data;
return json_encode($json);
}
?>
и когда я выполняю это, я получаю:
Результаты:
точно так же, как я имел обыкновение иметь в php оператор echo array2json, но он просто возвращал бред ... Я действительно не знаю, что я делаю не так, и я гуглил около 3 часов, просто получая в основном то же самое Также я не знаю, как передать параметры в «data:» в функции $ .ajax, например, для получения информации с веб-страницы. Может ли кто-нибудь помочь мне?
Редактировать
Я сделал то, что вы предложили, и теперь он печатает данные, большое спасибо =) Однако мне было интересно, как я могу отправить данные в часть "data:" в jQuery, так что она берет это, скажем, от пользовательского ввода Также я проверял документацию php и там написано, что мне разрешено писать что-то вроде:
json_encode($a,JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP)
однако, если я это сделаю, то получаю сообщение об ошибке, в котором говорится, что json_encode принимает 1 параметр, а я даю 2 ... есть идеи, почему? Я использую PHP 5.2