2012-06-21 8 views
0

Привет всем,Отправка потока для переключения по умолчанию случай

У меня в JS файл:

function sendDataToPhp() 
{ 
    theUrl = 'myfile.php'; 
    params = ''; 
    params += 'function=sendData'; 

    params += '&myfield='+someVariableForMyField; 
    $.ajax ({ 
     url: theUrl, 
     data: params, 
     type: "POST", 
     async:false, 
     success: function (data, textStatus) 
     {  
     } 
    }); 

} 

Тогда в myfile.php

if (isset($_REQUEST['function'])) 
    { 
     $function = $_REQUEST['function']; 

    } 


    switch ($function) { 
     case 'sendData': 
     //code 
     break; 
     default: 
     //code 
} 

С этим я посылаю код перейдите к случаю sendData коммутатора.

Внутри успеха, в ajax() Мне нужно отправить поток кода в случай по умолчанию коммутатора. Как я могу это сделать?

Спасибо, миллион!

+0

просто не отправляйте 'function = sendData' в params, он пойдет в' default', гораздо лучше, если вы можете сделать это как аргумент в 'sendDataToPhp (имя_функции)', чтобы вы могли повторно использовать его с или без него – tradyblix

+0

Есть ли способ сделать то, что я прошу (внутри успеха, в ajax() поток, чтобы перейти к случаю по умолчанию)? В противном случае мне придется изменить много кода – user638009

+0

, если вы сделаете его параметром 'sendDataToPhp ('function = sendData')' или 'sendDataToPhp ('function = dontexist')' <- снова вызовите это за пределы успеха, сделайте функция, пригодная для повторного использования или что-то в этом роде, может не быть хорошей практикой. IMO – tradyblix

ответ

0

Путь Switch работает, если нет соответствующего CASE, тогда он переходит в регистр DEFAULT ... поэтому, возможно, вы можете предоставить function=IdontExistFunction в своем вызове ajax ... ИЛИ если в DEFAULT есть фрагмент кода для запуска лучше всего отделить его и сделать его функцией, чтобы вы могли звонить из любой точки мира по мере необходимости.

BTW - Существует также сообщение GOTO - не уверены, можете ли вы использовать его в своем случае http://php.net/manual/en/control-structures.goto.php?

+0

Это хорошая идея, когда речь идет об IdontExistFunction, но я думаю, что нет способа отправить params + = 'function = IdontExistFunction'; внутри успеха в ajax(). Я прав? – user638009

+0

goto должен быть выражением jquery, я контролирую поток через файл js – user638009

+0

Я никогда не пытался сделать еще один вызов ajax внутри функции ajax succes - возможно, вы можете попробовать позвонить своей JS-функции, чтобы сделать еще один вызов ajax с параметром IDontExist - но я думаю, что ваш подход/логика того, что вы пытаетесь достичь, ошибочен где-то – TigerTiger

Смежные вопросы