2009-12-30 46 views
1

非常簡單的Ajax請求獲取員工ID並將用戶信息作爲HTML啞巴返回。
Request ajax("employee/info?emp_id=3543")

響應
ID = 3543
名=一些名腳本拼圖<script src =「ajaxpage.php?emp_id = 23」/>?

這只是另一種簡單的JS伎倆來填充UI。

但是我不明白以下類似的東西同樣能夠正確執行並轉儲HTML代碼。
<script type="text/javascript" src="employee/info?emp_id=3543" />

當頁面遇到下面的代碼時,它會像執行ajax請求一樣執行並將代碼轉儲到頁面中。唯一不同的是它不像A jax。
問題:
這是正確的方法嗎?它的+ ves和-ves。
這對用戶來說是正確的嗎?
這是否也意味着任何採用「src」標籤的HTML標籤都可以這樣使用?

回答

0

我已經使用這種JavaScript加載跨域腳本。它在哪裏非常有用。這裏是一個例子來展示我的意思。

[請記住,JS不允許來自javascript的跨域調用;由於內置的​​安全限制]

在域www.xyz.com蹉跎,讓我可以訪問用戶的列表,從http://xyz.com/users/list?age=20 它返回一個JSON服務,以捆綁方式類似以下 JSON:

{username:"user1", age:21} 

如果我要求這個JSON包裹在一個類似的方法如下:

callMyMethod({username:"user1", age:21}) 

那麼這是一個包裹JSON這要是我的網頁上加載;將嘗試調用一個名爲callMyMethod的方法。這將允許在<script src="source">類型的聲明中,但不會被允許。

所以,我能做的就是如下

<script language="javascript" src="http://xyz.com/users/list?age=20"></script> 
<script language="javascript"> 
    function callMyMethod(data) 
    { 
     //so something with the passed json as data variable. 
    } 
</script> 

這將讓我使用JSON從其他領域,這我不會已經能夠不這樣做來的東西。所以;你會看到我如何才能實現跨域腳本,否則這將是一個難以解決的難題。

這只是其中的一種用途。

其他原因爲什麼會有人這樣做是:

  • 到版本的JS文件與 版本。
  • 解壓js文件,以便在js和params傳遞給URL時發生一些變化時將它們加載到客戶端上將嘗試獲取最新的JS。這將使新的更改立即反映在客戶端上。
  • 當你想生成條件JS。

您在示例中指定的用法不會起到很大作用;如果服務器處理需要時間,可能會延遲頁面的加載,而非async ajax調用會更受歡迎。

0

這是正確的方法嗎?其+ + 和-ves。

取決於您是否要使用異步(ajax)方式。沒有什麼像+ ve或者-ve。 儘管後面的方法需要更多的時間。

哪個是 用戶的正確情況?

從這個意義上講,Ajax方式是正確的方法。

這也意味着,以「SRC」標記的任何HTML標籤 可以像 這樣被使用?

src用於指定源路徑。這就是它的意圖。

相關問題