вопрос о функциях в php - PullRequest
       3

вопрос о функциях в php

2 голосов
/ 11 апреля 2011

У меня есть php-файл с двумя функциями

<?php 

function first () {
//in real case more conditions
echo "first";
return true;
}

function second () {
//in real case more conditions
echo "second";
return true;
}

first();
second();

?>

и в ajax-файле

function(data) {
                if (data == "first") {
                    $("#msgbox1").fadeTo(200, 0.1, function() {
                        $(this).html('something');
                    });
                } 
                else if (data == "second") {
                    $("#msgbox1").fadeTo(200, 0.1, function() {
                        $(this).html('Something else');
                    });
                } 

проблема в том, что php уходит в первую секунду, и мне нужно проверить в отдельномРежим - первый и второй.Если я сделаю возврат первым;Как я могу проверить данные, если возврат верен?данные == сначала не работает

спасибо

1 Ответ

5 голосов
/ 11 апреля 2011

Вы бы хотели что-то еще в этом духе:

function first() {
    if (some condition ...) {
       return true;
    }
    return false;
}

function second() {
   if (some other condition...) {
      return true;
    }
    return false;
}

$data = array();

$data['first'] = first();
$data['second']= second();

echo json_encode($data);

Тогда в вашем коде Javascript:

if (data.first) {
   ... first occurred
}
if (data.second) {
   ... second occured;
}

Должно быть лучше возвращать фактические структуры данных Javascript через кодировку JSON, чем строку. Таким образом, вы можете передать другие элементы данных. Например, если first() выполнял поиск в базе данных и что-то взорвалось, вы можете вернуть 'false' вместе с сообщением об ошибке, указывающим, почему запрос не прошел.

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