【问题标题】:Send an ajax call to a function in YII向 YII 中的函数发送 ajax 调用
【发布时间】:2018-01-03 13:02:41
【问题描述】:

我需要向以下目录结构中的函数发送 ajax 调用

Yii::$app->request->absoluteUrl."protected/humhub/modules/post/controllers/PostController/UploadMusicFile";

我的视图函数

  function uploadImage(){
      var url = '<?php echo Yii::app()->request->baseUrl."protected/humhub/modules/post/controllers/PostController/UploadMusicFile"; ?>';
      console.log(url);
      return false;
        $.ajax({
          url:'<?php echo Yii::$app->createUrl("Post/UploadMusicFile"); ?>',
          method:'post',
          data:{file:$('input[type="file"]')},
          dataType:'',
          contentType:false,
          processData:false,
          success:function(data){
            var parsed_data = $.parseJSON(data);
          },
          error:function(data){
            console.log("Error "+data);
          }
        });

    }

我要发布到的函数

  public function UploadMusicFile(){
      $file = Yii::$app->request->post('file');
      echo "<pre>";
      print_r($file);
      echo "</pre>";
      exit();
      $target_dir = "/home/jmwglobaladmin/public_html/melmory/uploads/music_memory/";
      $target_file = $target_dir . basename($_FILES["files"]["name"][0]);
      foreach ($_FILES["files"]["error"] as $key => $error) {
          if ($error == UPLOAD_ERR_OK) {
              $tmp_name = $_FILES["files"]["tmp_name"][$key];
              move_uploaded_file($tmp_name, $target_file);
              $connection = Yii::$app->getDb();
              $command = $connection->createCommand('select id from post order by id desc limit 1');
              $result = $command->queryAll();
              $new_id = $result[0]['id']+1;
              $file_name = "abc.mp3";
              $connection = Yii::$app->getDb();
              $command_insert = $connection->createCommand('insert into memory_music (post_id,memory_music) values ("'.$new_id.'","'.$file_name.'")');
              $result = $command_insert->execute();
          }
      }
    }

我收到 404 错误。如何将 yii 中的正确 url 传递给上述目录结构中存在的函数?

【问题讨论】:

    标签: javascript php jquery ajax yii


    【解决方案1】:

    基础知识。你的功能不是一个动作。

    改变这个:

    public function UploadMusicFile()
    

    到这里:

    public function actionUploadMusicFile()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-02
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多