【问题标题】:How do I pass post variable through jQuery?如何通过 jQuery 传递 post 变量?
【发布时间】:2011-12-09 17:03:12
【问题描述】:

我在点击事件中有这个 jQuery 调用:

var url = "http://www.....";
$('#platforms-lasers-video').load(url + ' #platforms-lasers', {video: 'platforms-lasers'});

我正在使用 CodeIgniter 并将 $data['video'] = $this->input->post('video') 传递给视图,确保将 $data 传递给视图。

我这样回应:

<div id="<?php echo $video; ?>">

    <div id="video">
        <video width="650" height="360" controls="controls" preload="auto" poster="<?php echo base_url(); ?>images/features/<?php echo $video; ?>.jpg">
          <source src="<?php echo base_url(); ?>videos/<?php echo $video; ?>.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
          <source src="<?php echo base_url(); ?>videos/<?php echo $video; ?>.webm" type='video/webm; codecs="vp8, vorbis"' />
          <source src="<?php echo base_url(); ?>videos/<?php echo $video; ?>.ogv" type='video/ogg; codecs="theora, vorbis"' />
          <object id="flash_fallback_1" class="vjs-flash-fallback" width="650" height="360" type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf">
            <param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf" />
            <param name="allowfullscreen" value="true" />
            <param name="flashvars" value='config={"playlist":["<?php echo base_url(); ?>images/<?php echo $video; ?>.jpg", {"url": "<?php echo base_url(); ?>videos/<?php echo $video; ?>.mp4","autoPlay":false,"autoBuffering":true}]}' />
            <img src="<?php echo base_url(); ?>images/<?php echo $video; ?>.jpg" width="650" height="360" alt="" title="<?php echo $v->no_playback; ?>" />
            <a href="http://www.adobe.com/go/getflash">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="<?php //echo $v->get_flash; ?>" />
            </a>
          </object>
        </video>
       </div>


   </div>

但是 post 变量没有被传递给视图。我该怎么做?

【问题讨论】:

  • But the post variable isn't being passed to the view。你这是什么意思?
  • 您是否尝试过:$('#platforms-lasers-video').load(url, {video: 'platforms-lasers'}) ??我认为# 没用。
  • 尝试使用'video' 而不是video 并尝试使用$data['video'] = $this-&gt;input-&gt;get('video');。也许您的jquery 加载方法有问题。
  • #platforms-lasers 从页面加载特定的 div,但没有其他内容

标签: php jquery ajax http codeigniter


【解决方案1】:

.load() 使用get 方法。

要做一个post,你可以这样做:

var url = "http://www.....";
$.post(url, {video: 'platforms-lasers'}, function(data){
     $('#platforms-lasers-video').html(data);
});

【讨论】:

    【解决方案2】:

    .load() 使用 GET 方法。

    此方法是从服务器获取数据的最简单方法。它是 大致相当于 $.get(url, data, success) 只是它是一个 方法而不是全局函数,它有一个隐式回调 函数。

    来自jQuery .load() manual

    您需要使用$data['video'] = $this-&gt;input-&gt;get('video')

    【讨论】:

      【解决方案3】:

      虽然这似乎已回答以供将来参考,但您也可以使用:

      $data['video'] = $this->input->get_post('video')
      

      此函数将在 post 和 get 流中搜索数据,首先在 post 中查找,然后在 get 中查找。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-23
        • 1970-01-01
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 2011-04-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多