2011-12-22 74 views
2

我從jQuery的調用Ajax調用是這樣的:JS文件下載,但不會執行(從AJAX調用)

$.ajax({ 
    type: 'GET', 
    url: 'edit.htm', 
    success: function(data){ 
    container.html(data); 
    }, 
}); 

數據從Ajax調用recevied包含引用其他腳本標記JS文件,例如:angularjs。我看着螢火蟲,我看到JS文件已下載,但它們不出現在腳本標籤中,可以調試它。

JS文件已下載但未執行。

我該如何解決這個問題?

上面的ajax調用和容器元素存在於名爲info.htm的html文件中。

而edit.htm(從ajax調用中獲取的數據)具有腳本標籤和其他html數據。

謝謝。 P.S:如果有幫助:我可以在firebug'Console'選項卡中看到JS文件被下載,但是我不能看到它們列在Firebug'Script'選項卡中。

+2

當他們應該執行?什麼觸發了他們? – 2011-12-22 16:00:30

+2

「container」的定義在哪裏?如果你把container.html(「###」);它工作嗎? – 2011-12-22 16:01:48

+0

@ Mr.Disappointment上面的ajax代碼片段位於名爲info.htm的文件中。 ajax調用是通過單擊info.htm中的超鏈接來執行的。正如你看到的網址是edit.htm。 edit.htm具有包含src屬性中的JS文件的腳本標記。 – ChrisOdney 2011-12-22 16:09:17

回答

1

請嘗試jQuery.getScript("url")以獲取更多詳細信息,請參閱this 它會隱式地調用ajax調用。

或嘗試類似:

$.ajax({ 
    type: 'GET', 
    url: 'edit.htm', 
    success: function(data){ 
    $(data).appendTo(container); 
    }, 
}); 
+0

URL具有比它的HTML數據也只是腳本標記更多。 – ChrisOdney 2011-12-22 16:12:49

+0

uodated在代碼..檢查它是否有助於 – 2011-12-22 16:17:04

+0

我不能做到這一點。正如我在我的ajax片段中,我必須將數據追加到'容器'元素。而從Ajax調用返回的數據不只是一個腳本標記,它具有HTML內容的腳本標籤一起,它是一個局部的html文件。 – ChrisOdney 2011-12-22 16:21:30

-3

可能是你的要求有點奇怪,因爲服務器不返回客戶端代碼。

最佳做法是在開始時加載js文件,並且您可以在完成ajax腳本之後調用所需的方法。

但是,eval可能不是一個好的做法,但這是一個解決方案。 要執行變量中的JavaScript代碼,您需要使用eval方法。

請看一看這個參考http://www.w3schools.com/jsref/jsref_eval.asp

希望這會有所幫助。

+1

必須抵制...敦促downvote ...爲建議eval ...哦,上帝,讓它變得更糟糕,你只是鏈接到W3Fools。 – 2011-12-22 16:02:13

+0

此外......雖然這可能在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的基本部分,並提供供參考的鏈接。 – 2011-12-22 16:04:41

+0

沒有抵制衝動。這不是一個有用的答案。它沒有描述*如何*使用eval來解決問題,*爲什麼*它是必要的(如果是的話),或者什麼都沒有。 – kojiro 2011-12-22 16:04:53

0

我曾經有一個CSS問題 - 它有不正確的Content-Type標題,並沒有被瀏覽器解釋。這可能是問題嗎?您的服務器是否爲請求的腳本返回text/javascript

+0

一注 - 頁面編輯。htm'可能是完整的HTML頁面,用''標籤包圍。也許瀏覽器沒有在主頁面中包含加載的腳本,因此。嘗試返回'

  • 11. 通過ajax調用下載文件php
  • 12. Ajax調用半工作...文件已上傳但JavaScript未執行
  • 13. 流星Js不會讓我從服務器上下載文件
  • 14. 當從remoteFunction調用時,Grails文件下載不會啓動
  • 15. 下載文件而不是執行
  • 16. 文件下載後Iframe onload不執行?
  • 17. Ajax調用不執行
  • 18. PHP Ajax調用執行,但返回500
  • 19. 如何在ASP.NET MVC3中下載文件的請求之後執行ajax調用
  • 20. IE提示(.js文件)JavaScript來下載文件,而不是執行它
  • 21. AJAX調用不會在角JS
  • 22. AJAX調用不會滑下菜單操作,它不會加載從HTML文件內容
  • 23. 從JS文件獲取正確的URL以進行ajax調用
  • 24. 在卸載函數執行AJAX調用
  • 25. 接下來執行幾個ajax調用
  • 26. 從Python調用可執行文件Win32 IDLE工作,但從Windows控制檯相同Python會話不會
  • 27. 使用AJAX下載文件
  • 28. 不使用ajax下載文件
  • 29. 如何從ajax調用下載文件並強制下載結果
  • 30. 通過Ajax調用通過Web方法從C#下載文件?