Php 第一次尝试ajax时,脚本没有被看到?
我已经用php/CI编写了一段时间了,我开始掌握它的诀窍,但是我正在尝试使用jQuery+一些ajax的东西,我似乎无法让它工作。就好像剧本根本就没人看 我希望它在用户单击submit按钮时调用java/test函数。我想添加一些东西,比如if(ajax)do something,这就是为什么我在表单数据中有它,但不管它调用提交函数是什么——我添加了return false,这样它就不会启动提交函数,但它仍然是 这是我的代码,任何帮助都会很好。谢谢 java.php//ControllerPhp 第一次尝试ajax时,脚本没有被看到?,php,javascript,jquery,ajax,codeigniter,Php,Javascript,Jquery,Ajax,Codeigniter,我已经用php/CI编写了一段时间了,我开始掌握它的诀窍,但是我正在尝试使用jQuery+一些ajax的东西,我似乎无法让它工作。就好像剧本根本就没人看 我希望它在用户单击submit按钮时调用java/test函数。我想添加一些东西,比如if(ajax)do something,这就是为什么我在表单数据中有它,但不管它调用提交函数是什么——我添加了return false,这样它就不会启动提交函数,但它仍然是 这是我的代码,任何帮助都会很好。谢谢 java.php//Controller &l
<?php
class Java extends Controller{
function index(){
$this->load->view('java_view');
}
function submit(){
$one = $this->input->post('one');
$two = $this->input->post('two');
echo $one;
}
function test(){
$one = $this->input->post('one');
$two = $this->input->post('two');
echo $two;
}
}
这行:
$('#submit').onclick(function(){
应该是:
$('#submit').click(function(){
我假设#submit
不是input type=“submit”
否则页面将重新加载,除非您在单击处理程序的末尾放置return false
更多信息:
更新:
试试这个(添加了live
,并进行了一些其他修改):
$(文档).ready(函数(){
$(“#提交”).live('click',function(){
变量形式_数据={
一:(“#一”).val(),
二:('#二').val(),
ajax:'1',
};
$.ajax({
url:“”,
键入:“POST”,
数据:表格数据,
成功:函数(){
警惕(“成功”);
});
返回false;
});
});
更好吗
$('#submit').live("click", function(){
如果您正在动态更新DOM,或者每次页面加载都可以多次调用onclick事件,那么使用live()会更安全
只是一个想法……您是否尝试过在JavaScript中明确说明Ajax调用的URL?可能是因为它不理解跳转到php来回显URL路径。谢谢,但这并不是我想要的(我的错误不是很明确)如果你能再看一眼的话,我已经编辑了我的帖子。还添加了返回错误的部分。Thanks@tshauck:请查看我的更新答案。请尝试更新的代码。您好,我已经尝试了该代码,它仍在启动提交功能,就像在没有javascript的情况下单击时一样。@tshauck:那么您为什么不将按钮类型改为仅按钮比submit
,因为你想用ajax提交。@sAc我不认为这是问题的根源,我似乎无法找出问题的根源是javascript没有启动。我已经更改了html和java以反映按钮的想法,但现在我只是被点击而没有任何动作。我正在使用xampp在本地服务器上运行如果这有帮助的话。嗨,很好的建议,编辑我的文章,使之更符合我的意图。如果你能再看一次,那就太好了。谢谢。我希望是这样,我已经测试了它的硬编码,但它不起作用。不过谢谢你的建议。
$(document).ready(function(){
$('#submit').live('click', function(){
var form_data = {
one: ('#one').val(),
two: ('#two').val(),
ajax: '1',
};
$.ajax({
url: "<?php echo site_url('java/test'); ?>",
type: 'POST',
data: form_data,
success: function() {
alert('success');
});
return false;
});
});
$('#submit').live("click", function(){