私の当初の目標は、ボタンプレスで実行するPHPファイルを取得することでした。私はajaxを使いました。 javascriptがビューにあるとき、それは働いた。Codeigniter、ボタン押しで実行するAjaxを取得する
しかし、javascriptを独自の.jsファイルに切り替えて、ヘッダーに挿入しようとしました。もう動作しません。私は混乱しています。
モデルコード:ここで注意することは興味深い
public function insert_build($user_id)
{
$query = "INSERT INTO user_structure (str_id, user_id) VALUES ('7', '$user_id')";
mysql_query($query) or die ('Error updating database');
}
何かが、私が値として$ USER_IDを含む場合、それは完全に私headertemplateを否定するということです。のように、それは単に負荷をかけることはありません。 $ user_idを静的な値(つまり '7')に置き換えると問題はありません。相続人
<div id="structures">
<h1>Build</h1>
<form name="buildForm" id="buildForm" method="POST">
<select name="buildID" class="buildClass">
<option value="0" selected="selected" data-skip="1">Build a Structure</option>
<?php foreach ($structures as $structure_info): ?>
<option name='<?php echo $structure_info['str_name'] ?>' value='<?php echo $structure_info['str_id'] ?>' data-icon='<?php echo $structure_info['str_imageloc'] ?>' data-html-text='<?php echo $structure_info['str_name'] ?><i>
<?php echo $structure_info['timebuildmins'] ?> minutes<br><?php echo $structure_info['buy_gold'] ?> gold</i>'><?php echo $structure_info['str_name'] ?></option>
<?php endforeach ?>
</select>
<div id="buildSubmit">
<input id ="btnSubmit" class="button" type="submit" value="Submit"/>
</div>
</form>
</div>
私の.jsファイル::私はこの問題を知って、ほぼ確信して
$(".button").click(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "<?php $this->structure_model->insert_build($user_id) ?>", //the script to call to get data
data: "", //you can insert url arguments here to pass to api.php
//for example "id=5&parent=6"
dataType: 'json', //data format
success: function(data) //on receive of reply
{
alert("success!");
}
});
});
:
は、これが私の見解コードですstructure_model->insert_build($user_id) ?>
が動作していないことをするときにそのビューの外側。しかし、私はその代替案を知らない。
ヘッダーファイルを除外しました。私は、.jsファイルが実際に正しいパスに向けられていることを確認しました。
誰かがこれを行う正しい方法を教えてください。ありがとうございました!
今ではそれほど明白と思われます。ありがとうございました。 –
+1実際に質問を読んで... ugh – KTastrophy
問題はありません!私が言ったように、あなたはJSコンテンツだけで見ることができ、それにsomething.js.phpという名前をつけて、ユーザの視点からサーバ上の実際の.jsファイルのように見えるようにすることもできます。 GL –