2011-11-15 45 views
0

我如何去使用jQuery post請求並查看結果。的jquery的eval JavaScript文件

我,如果我進入它的瀏覽器的URL返回這樣的一個format.js文件。

document.write('<object id="player" name="YOUniversityTVPlayer" type="application/x-shockwave-flash" allowFullScreen="true">'); 

我用:

$.post(
    "format.js", function(data) {alert("success");alert(data);} 
); 

而且我想提醒顯示請求的結果,format.js導致

+0

你需要輸出document.write嗎? – Headshota

+0

奇怪不,其實我只需要一部分,但我沒有在js文件,它輸出了任何控制。我只需要得到結果,並實際刪除該document.write(),並只使用部分。 –

回答

0

也許你應該這樣做節省

不同在一個名爲fragment.html
<object id="player" name="YOUniversityTVPlayer" type="application/x-shockwave-flash" allowFullScreen="true"> 

,並獲取使用$阿賈克斯,然後使用片段

$.ajax({ 
    url: "fragment.html", 
    dataType: "html", 
    method: "post", 
    success: function(data, textStatus, jqXHR){ 
    alert(data); 
    //use the html 
    $('#result').html(data); 
    }); 

你也可以使用「腳本」作爲數據類型,並有evalued在旅途中的腳本,當然你需要改變你的腳本

+0

那將是不錯,但我真的需要什麼js的回報,因爲它產生一個獨特的每個JS要求我做。 js文件接受一個參數並執行一些操作,並根據我的參數返回唯一的。所以我真的需要js文件的結果。 –

1

只是刪除document.write在加載腳本!當您的腳本被$.post評估時,參數data的實際值是腳本的最後一個表達式語句的結果。作爲一個例子,考慮一下:

val r = eval("dosomethingelse(); 42"); // r is 42 

如果出於任何原因,你不能改變的加載腳本,你總是可以劫持document.write

var oldwrite = document.write; 
var mypreciousdata; 
document.write = function (data) {mypreciousdata = data;} 
// your $.post here 
document.write = oldwrite; 

但我譴責那些之類的動作..