【问题标题】:CodeIgniter ajax dynamic formsCodeIgniter ajax 动态表单
【发布时间】:2013-04-08 15:11:46
【问题描述】:

我实际上是在尝试对我项目中的团队进行动态管理。这意味着例如,用户有 3 个按钮。每个按钮都从一个显示表单的控制器调用一个函数。

但是,当表单出现时,当我按下提交时,url 很奇怪。

function ajax_get(){

var uri_segment = "<?=$this->uri->segment(3);?>";

$('#editTeam').click(function (e) {
    e.preventDefault();

    $.ajax({
        type : "GET",
        async : false,
        url : "<?=base_url().'ajax/team/get_editTeam/';?>"+uri_segment,
        dataType : "html",
        success : function(data){
            window.setTimeout(function () {
                $('#divPage').html(data);
            }, 300);

        }
    });
    return false;
});

这个函数在一个div中显示一个视图,然后我有一个表单

function ajax_editTeam()
{
$('form').submit(function(e){
    e.preventDefault();

    $.ajax({
        type : "POST",
        async : false,
        url : "www.google.fr",
        data : $(this).serializeArray(),
        dataType : 'json',
        success : function(data)
        {

        }
    });


    return false;
});
 }

对于这个表单,我有另一个 ajax 调用来保存字段并更新团队信息。如您所见,我将 'www.google.fr' 写为 url,但它没有任何改变

当我提交表单时,我在 firebug 中有一个奇怪的 url。

这是 firebug 的控制台: 获取http://fresh-league.com/ajax/team/get_editTeam/30 200 OK 164ms
POST http://fresh-league.com/ajax/team/editTeamget_editTeam 404 Not Found 354ms

你能告诉我为什么我有另一个请求的网址而不是 www.google.fr 吗?

感谢您的回答 马特

【问题讨论】:

    标签: jquery ajax codeigniter url


    【解决方案1】:

    这是因为Same Origin Policy对浏览器的限制。

    同源策略限制浏览器向域发出 ajax 请求,而不是下载源脚本的表单。

    有多种方法可以解决这个问题

    1. 使用jsonp
      如果请求的资源支持 jsonp,那么你可以使用它,jquery 有 built in support 用于 jsonp。使用 jsonp 需要传入请求参数callback=? 并将数据类型设置为jsonp 或使用getJSON 请求json 资源。

    2. 使用CORS

    【讨论】:

      【解决方案2】:

      你的问题有答案,

      这是正确的:url : "&lt;?=base_url().'ajax/team/get_editTeam/';?&gt;"+uri_segment

      这不是:url : "www.google.fr" 因为您没有从控制器调用任何函数, 尝试给它一个像第一个 ajax 调用一样的 url。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 2012-09-03
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多