2017-10-29 69 views
1

[更新]有50點的獎金,我將高達200用於工作小提琴(角)的js使用AJAX返回數據作爲URL嵌入的MS Word文檔


[更新],而我更喜歡AngualrJs的解決方案,我也將接受純JS - 只是什麼讓我在這個僵局......一個GET調用我的服務器返回一個URL,我想該文件嵌入到我的HTML


參照my previous question,@MaximShoustin的回答看起來很完美,但我遇到了問題。

該解決方案中的URL有硬編碼,但我想通過AJAX獲得我的。當我這樣做時,文檔並未嵌入,但我在開發人員控制檯中看不到任何錯誤。

我製成this fiddle,其中I加入這些線

到HTML

<iframe ng-src="{{cvUrlTrusted_2}}"></iframe> 

和,到控制器

app.controller('Ctrl', function($scope, $sanitize, $sce, $http) { 

加入, $http

// new stuff follows 
    var url = 'http://fiddleapi.rf.gd/getDocuemntUrl.php'; 

    /* The URL contains this code ... 
     <?php 
     echo('https://d9db56472fd41226d193-1e5e0d4b7948acaf6080b0dce0b35ed5.ssl.cf1.rackcdn.com/spectools/docs/wd-spectools-word-sample-04.doc'); 
       ?>  
    */ 
     $http.get(url) 
     .success(function(data, status, headers, config) 
     { 
       var cvTrustedUrl_2 = 'http://docs.google.com/gview?url=' + data.trim() + '&embedded=true'; 
       $scope.cvTrustedUrl = $sce.trustAsResourceUrl(cvTrustedUrl_2); 
     }) 
     .error(function(data, status, headers, config) 
      { 
      alert('Urk!'); 
      });  

如果您在http://fiddleapi.rf.gd/getDocuemntUrl.php處調用API,您將看到它返回的是與解決方案中硬編碼相同的文檔URL。

,首先檢查我的代碼,以免我犯了一個錯誤。

長描述,簡短的問題:我如何將使用AngularJS將從AJAX API返回的URL文檔嵌入到HTML文檔中?免費贈送小提琴。

+0

看在控制檯...有錯誤顯示 –

+0

很抱歉,但我沒有看到他們 - 也許我用錯了瀏覽器嗎?你能告訴他們是什麼以及如何糾正? – Mawg

+1

angular.js:12520 ReferenceError:$ http沒有定義 –

回答

1

你撥弄並不因爲跨域問題的工作:http://fiddleapi.rf.gd/getDocuemntUrl.php

所以我裝簡單的JSON文件的內容:

{ 
    "val":"https://d9db56472fd41226d193-1e5e0d4b7948acaf6080b0dce0b35ed5.ssl.cf1.rackcdn.com/spectools/docs/wd-spectools-word-sample-04.doc" 
} 

和:

$http.get('data.json').then(function (resp){ 
     var cvTrustedUrl_2 = 'http://docs.google.com/gview?url=' + resp.data.val + '&embedded=true'; 
    $scope.cvUrlTrusted_2 = $sce.trustAsResourceUrl(cvTrustedUrl_2); 
}); 

Demo Plunker

它工作正常,所以問題出在您的http://fiddleapi.rf.gd/getDocuemntUrl.php,因爲這個URL也不能在Postman中工作。我得到:

This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support

確保您配置很好

+0

這看起來不錯(+1),但我需要能夠從第三方網站獲得URL :-(如果我將http://fiddleapi.rf.gd/getDocuemntUrl.php的內容更改爲與您的數據具有相同的內容,js? – Mawg

+1

@Mawg瀏覽器將阻止您與跨域安全問題 –

+0

OIC :-(如果沒有其他方式,我將不得不生成整個HTML頁面服務器端PHP,不加載HTML,然後嘗試通過AJAX獲取該URL。如果生成整個頁面服務器端,那麼我可以包含硬編碼的URL。 – Mawg