我正在尝试设置jQuery Ajax post URL.But,它不像我想的那样工作。我搜索了很多,我得到了很多solution.But,没有一个表明我的问题。我在js文件中设置var baseurl = "<?php print base_url(); ?>";中的基本URL,并在$.ajax url中使用它,连接it.It给我
Disallowed Key Characters.php_print_base_url();_?>welcome/add_tag我认为var baseurl不起作用。
html
<script src="<?php echo base_url();?>js/my_js.js"></script>
<input type="text" id="add_tag" placeholder="add more tags"/>js
var baseurl = "<?php print base_url(); ?>";
$('#add_tag').on('keyup paste', function () {
tag_text=$(this).val();
if(tag_text==='')
return;
$.ajax(
{
type: "POST",
url: baseurl+"welcome/add_tag",
data: {tag_textTo:tag_text},
success: function(data){
$('.tags_found').html(data);
}
});
});CI_Controller
class Welcome extends CI_Controller {
public function add_tag()
{
$tag_text=$this->input->post('tag_textTo');
echo $tag_text;
}
}怎么让它起作用?谢谢。
发布于 2015-05-27 04:58:28
问题发现
我使用外部js文件进行ajax调用。现在我知道codeIgniter url助手不识别外部js文件中的baseurl变量。这是外部文件中的行var baseurl = "<?php print base_url(); ?>";。
@Sulthan Allaudeen和@saravanan (感谢他们)给出的答案在我声明baseurl var时都起作用了
在我的php视图文件内部。
视图文件
<script type="text/javascript">var baseurl = "<?php print base_url(); ?>";</script>剩余的js代码可以保留在外部文件中。
$('#add_tag').on('keyup paste', function () {
tag_text=$(this).val();
if(tag_text==='')
return;
$.ajax(
{
type: "POST",
url: baseurl+"welcome/add_tag",
data: {tag_textTo:tag_text},
success: function(data){
$('.tags_found').html(data);
}
});
});发布于 2015-05-26 04:04:39
您应该像这样声明baseurl
var baseurl = '<?=base_url()?>';或
var baseurl = "<?php echo base_url(); ?>";在jquery ajax调用中
url: baseurl+"welcome/add_tag",否则完全
url: <?php echo base_url();?>"welcome/add_tag",注:
不要忘记加载url助手
发布于 2015-05-26 05:55:35
尝试使用url
url: "<?php echo site_url('welcome/add_tag');?>"https://stackoverflow.com/questions/30449182
复制相似问题