【问题标题】:Angularjs files uploads says this request has no response data availableAngularjs 文件上传说这个请求没有可用的响应数据
【发布时间】:2018-06-19 22:15:15
【问题描述】:

我使用下面的代码将图像和用户名上传到服务器。它工作正常。

现在我想在控制台中返回用户名和文件名,但它显示此请求没有可用的响应数据。我曾尝试使用 successcallback() 函数,但仍然没有运气。看来问题来自successcallback()。谁能帮我解决这个问题。

        file.upload = Upload.upload({
      method: 'post',
          url: 'image.php',
         data: {username: $scope.username, file: file},


        }).then(function successCallback(response) {

    alert(response.data[0].username);
    alert(response.data[0].file);
    console.log(response.data[0].username);
    });

下面是整个代码

    //inject angular file upload directives and services.
    var app = angular.module('fileUpload', ['ngFileUpload']);

    app.controller('MyCtrl', ['$scope', 'Upload', '$timeout','$http', function ($scope, Upload, $timeout, $http) {
        $scope.uploadPic = function(file) {
        file.upload = Upload.upload({
          url: 'upload.php',
          data: {username: $scope.username, file: file},
        });

        file.upload.then(function (response) {
          $timeout(function () {
            file.result = response.data;
console.log(response.data[0].username);
          });
        }, function (response) {
          if (response.status > 0)
            $scope.errorMsg = response.status + ': ' + response.data;
        }, function (evt) {
          // Math.min is to fix IE which reports 200% sometimes
          file.progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));
        });
        }
    }]);

image.php

<?php
error_reporting(0);
$data = json_decode(file_get_contents("php://input"));
 $username = strip_tags($data->username);


$return_arr[] = array("username"=>$username);
 echo json_encode($return_arr);
exit();

【问题讨论】:

    标签: angularjs ng-file-upload


    【解决方案1】:

    上面帖子中提到的问题已经解决了。

    我将表单参数用户名发送为json_decode()

    $data = json_decode(file_get_contents("php://input"));
     $username = strip_tags($data->username);
    

    将所有内容作为 post 参数发送解决了我的问题,如下所示

    $username = $_POST['username'];
    

    谢谢

    【讨论】:

      猜你喜欢
      • 2022-12-07
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多