我试图学习如何使用codeigniter内的JSON。我试图使用模型来运行ajax代码,但它不工作。Usng JSON in codeigniter与表单提交
我需要学习如何将变量传递给模型,然后退出;或者,如果那不正确,我需要学习正确的过程。以下是我的代码。
HTML
<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>
<option name='Town Center' value='1' data-icon='../img/structures/tc.png' data-html-text='Town Center<i>
500 minutes<br>50000 gold</i>'>Town Center</option>
<option name='Barracks' value='2' data-icon='../img/structures/barracks.png' data-html-text='Barracks<i>
25 minutes<br>1500 gold</i>'>Barracks</option>
<option name='Dragon Roost' value='3' data-icon='../img/structures/droost.png' data-html-text='Dragon Roost<i>
200 minutes<br>5000 gold</i>'>Dragon Roost</option>
<option name='Mage Hall' value='4' data-icon='../img/structures/mage.png' data-html-text='Mage Hall<i>
40 minutes<br>300 gold</i>'>Mage Hall</option>
<option name='Test Lab' value='6' data-icon='../img/structures/testlab.png' data-html-text='Test Lab<i>
1 minutes<br>10 gold</i>'>Test Lab</option>
</select>
<div id="buildSubmit">
<input id ="btnSubmit" class="button" type="submit" value="Submit"/>
</div>
</form>
</div>
这里是我的AJAX/JS/JSON 我想一个很简单的例子。我想将上面的选项(1-6)的值发布到模型函数insert_build。我不知道它是否这样做,因为我不能想到一个好方法来测试它。但是,如果它返回任何内容,我会提醒。我不是。
$(function(){
$(".button").click(function(e, value){
e.preventDefault();
$.ajax({
type: "POST",
url: "<?php $this->structure_model->insert_build() ?>", //the script to call to get data
str_id: value,
dataType: 'json', //data format
success: function(data) //on receive of reply
{
alert("success!");
}
});
});
});
型号代码
public function insert_build()
{
$str_id = $this->input->post('str_id');
echo " TESTING $str_id";
}
任何帮助将不胜感激。为什么这不起作用?我仍然试图理解Codeigniter和JSON/JS的基本原理。
感谢
谢谢!无论如何要做到这一点,而不需要javascript直接在页面源代码上? – 2012-03-06 19:12:47
您可以在JavaScript变量中设置base_url,然后只包含一个具有ajax代码的js文件。 'var base_url ='<?php echo base_url(); ?>';'然后改变你的ajax'url'使用新的'base_url'变量 – 2012-03-06 19:14:31
谢谢,我会试试看。然而,虽然我能够收到响应和警报,但“测试”它没有返回变量“str_id”。您是否可以编辑您的答案以包含该推理?谢谢! – 2012-03-06 19:17:32