使用mvc和codeigniter創建Web應用程序。在視圖中,點擊一個按鈕時,它會調用一個javascript方法。該方法應該將3張圖像的來源作爲參數,並將它們傳遞給控制器方法。然後,控制器方法將它們轉換爲單個$記錄並將其傳遞給模型中的函數,然後將該記錄內容插入到數據庫中。如何從javascript調用控制器功能
視圖按鈕:
<input type="submit" class="btn btn-primary" value="Assemble bot" onclick="insertAssembled()"></input>
JavaScript函數:
function assemble(var head, var body, var legs) {
var head = document.getElementById("HeadImage".src);
var body = document.getElementById("BodyImage".src);
var legs = document.getElementById("FeetImage".src);
// call controller function here, passing head body and legs
}
控制器的方法:
public function insertAssembled($head, $body, $legs) {
//Build record and send to saveBot
$record['id'] = 1;
$record['head'] = $head;
$record['body'] = $body;
$record['legs'] = $legs;
$this->Robotsdata->saveBot($record);
}
模型法(很粗糙,有利於不需要只是想傳遞參數):
public function saveBot($record) {
$con = mysql_connect("localhost","[email protected]","");
mysql_select_db("factory", $con);
$bot_id = $_POST['id'];
$bot_head = $_POST['head'];
$bot_body = $_POST['body'];
$bot_legs = $_POST['legs'];
$query = "INSERT INTO `factory`.`assembledbots` ('id', 'head', 'body', 'legs') "
. "VALUES ('$bot_id', '$bot_head', '$bot_body', '$bot_legs');";
mysql_query($query);
mysql_close($con);
}
請閱讀有關SQL注入 –
ajax是你唯一的朋友 – yogesh84