Как вернуть переменную javascript в Ajax? - PullRequest
0 голосов
/ 21 мая 2009

Кто-нибудь знает, как я могу вернуть переменную javascript в ajax вместо строкового значения, когда я использую ajax для вызова php. Пожалуйста, смотрите ниже пример для более подробной информации:

Ajax:

    //Ajax Param 
    var paramList = "Action=make_process";

    ajaxRequest = $.ajax({
            url: "admin.php",
            type: 'POST',
            data: paramList,
            error: function(){
                  //error message here
            },
            success: function(data){
                 //read return javascript variable here;
            }   
        });   

PHP:

public function validationChk()
    {
        $error_msg['error_msg'][] = array("msg"=>"hello");
            $error_msg['error_msg'][] = array("msg"=>"hi");

        echo "var ErrorMapping = " . json_encode($error_msg). ";\n\n";          
        exit;
    }

Ответы [ 2 ]

1 голос
/ 21 мая 2009

Вам интересно, как вы можете вернуться из ответа AJAX?

Тогда ознакомьтесь с ответом на часто задаваемые вопросы по jQuery.

0 голосов
/ 21 мая 2009

То, что вы пытаетесь сделать, не так уж велика идея. Вероятно, вам нужно декодировать ответ JSON обратно в объект из вашего success обратного вызова, а затем вернуть , что .

Декодирование строки JSON включает передачу по eval и надеется, что у вас нет плохих / вредоносных данных. Безопасный способ сделать это - проанализировать JSON в Javascript. Если у вас есть , чтобы пройти этот путь самостоятельно, то хотя бы попытайтесь использовать что-то уже написанное. Поиск в Google Code для "json-sans-eval".

Лучшим вариантом будет использование встроенных возможностей jQuery:

jQuery.getJSON( url, [data], [callback] )

Он делает все тяжелые вещи для вас. Потратьте некоторое время, чтобы прочитать документы jQuery. Там много полезного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...