2017-07-18 95 views
0

我有一个PHP文件,通过api将视频上传到Microsoft Azure服务,该API会返回一个对象(StdObject)文件。我想通过ajax将它发送回javascript。视频成功上传到天蓝色,所以没有问题。但是当我试图查看js中“资产”对象的内容时,它只是空的。资产文件的php vardump正在正确显示内容。我在这里做错了什么?通过ajax将javascript对象返回给javascript

这里是我的 JS代码:

var asset; 
$.ajax({ 
     type: "POST", 
     url: "internal_api/uploadasset.php", 
     cache: false, 
     processData: false, 
     contentType: false, 
     data: form_data, 
     success: function(data){ 
      rowid = data.rowid; 
      asset = data.videoasset; 
      console.log(asset); 
      alert("Video successfully uploaded"); 
     }, 
     error: function() { 
      alert("Error"); 
     }, 
     dataType: 'json', 
    }); 

PHP代码:

<?php 
    require_once '../vendor/autoload.php'; 
    include './config.php'; 
    include_once 'azureconfig.inc'; 
    use WindowsAzure\Common\ServicesBuilder; 
    use WindowsAzure\Common\Internal\MediaServicesSettings; 
    use WindowsAzure\Common\Internal\Utilities; 
    use WindowsAzure\MediaServices\Models\Asset; 

    /* 
     all azure code comes here 
    */ 
    $videoAsset = uploadFileAndCreateAsset($restProxy,$video_file,$video_name); 
    $query = mysql_query("insert into tbl_videos (filename,userid,clipid,type).....") 
    $rowid = mysql_insert_id(); 
    $return['rowid'] = $rowid; 
    $return['videoasset'] = $videoAsset; 

    echo json_encode($return); 
?> 
+4

每次你在新代码 使用[了'mysql_'(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) 数据库扩展* * [出现这种情况(https://media.giphy.com/media/kg9t6wEQKV7u8/giphy.gif)** 它已被弃用,多年来一直和一去不复返的PHP7。 如果您只是学习PHP,花费精力学习'PDO'或'mysqli'数据库扩展和准备语句。 [从这里开始](http://php.net/manual/en/book.pdo.php) – RiggsFolly

+1

Debugg PHP代码,看看它是否工作 - 打开错误报告,并在编码之前检查你'$ return'内容。 – Peon

+1

'$ videoAsset'中有什么? – RiggsFolly

回答

1

落实The JsonSerializable interface从其中由功能uploadFileAndCreateAsset()返回的对象被创建的类。

+0

谢谢...工作 –

+0

不客气。我很高兴它的工作。 – 2017-07-18 13:07:52