如何通过jQuery传递post变量?

时间:2011-12-09 17:03:12

标签: php jquery ajax http codeigniter

我在点击事件中有这个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变量没有传递给视图。我该怎么做?

3 个答案:

答案 0 :(得分:3)

.load()使用get方法。

要做post,你可以这样做:

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

答案 1 :(得分:1)

.load()使用GET方法。

  

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

来自jQuery .load() manual

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

答案 2 :(得分:1)

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

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

此功能将搜索post和get数据流,先查看post,然后查找get。