2012-06-21 47 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

只是在params中不發送'function = sendData'它會轉到'default',如果你可以將它作爲'sendDataToPhp(function_name)'中的一個參數好得多,那麼你可以重新使用它有沒有它 – tradyblix

+0

有沒有什麼辦法來做我在問什麼(在成功的內部,在ajax()流程去默認情況下)?否則,如果您將其設置爲'sendDataToPhp('function = sendData')'或'sendDataToPhp('function = dontexist')'< - 在成功之內再次調用它的參數,則必須更改很多代碼 – user638009

+0

該函數可重用或什麼的,可能不是一個好習慣IMO – tradyblix

回答

0

Switch的工作方式是,如果沒有匹配的CASE,那麼它會轉到DEFAULT案例......所以也許你可以在你的ajax調用中提供function=IdontExistFunction ......或者如果你想在DEFAULT中有一段代碼運行,然後最好分開它,並使其成爲一個功能,以便您可以根據需要從任何地方撥打電話。

順便說一句 - 也有GOTO聲明 - 不知道你是否可以利用它在你的情況下http://php.net/manual/en/control-structures.goto.php

+0

這是一個好主意,關於IdontExistFunction,但我想沒有辦法發送參數+ ='功能= IdontExistFunction';在ajax()中取得成功。我對嗎? – user638009

+0

goto應該是一個jquery語句,我通過js文件控制流程 – user638009

+0

我從來沒有嘗試在ajax succes函數內部進行另一個ajax調用 - 也許你可以嘗試調用你的JS函數來使用IDontExist param創建另一個ajax調用 - 但我認爲你想要實現的任何方法/邏輯都是錯誤的 – TigerTiger