2014-05-14 172 views
-3

我有Javascript文件,我試圖做一個AJAX調用,應該得到JSON數據。Javascript AJAX調用,沒有服務器端?

$.ajax({ 
     type: "POST", 
     url: "er.js", // this is the same file 
     data: { 
      action: 'analyzePost', 
      c: c, 
      title: title, 
      content: content, 
      audience: audience 
     }, 
     dataType: "json", 
    "success": function(result) { 
    console.log("OK: ", result); 
    r = result; 
    }, 
    "error": function(result) { 
    console.error("!!!!!!ERROR!!!!!!!!!:", result); 
    }, 
    "async": false 
    }); 

我有一個看起來像這樣的文件中的函數。

function showAnalyzePost(c, title, content, audience){ 
    return analyzePost(c, $("#oauth_token").val(), $("#oauth_token_secret").val(), title, content, audience); 
} 

我之前曾使用過AJAX,但也涉及PHP。在這種情況下,沒有服務器端腳本。也許我必須創建.json文件或可能使用getJson,但我不知道如何做到這一點。

問題:AJAX甚至沒有被觸發。它不會拋出錯誤,也不會返回良好的結果。

如果我沒有正確解釋,請提問。 有人可以在這裏指導我...謝謝

+0

看起來你只是想調用本地函數'showAnalyzePost'。爲什麼不只是調用函數? –

+1

jQuery.ajax函數期望可以是相對/絕對URL而不是文件名的'url' – Ejaz

+0

請參閱jquery文檔以獲得'ajax'調用。您無法使用POST請求獲取數據。 – dentuzhik

回答

4

AJAX是用於客戶端 - 服務器交互。如果您留在客戶端,只需使用適當的參數值調用您的js函數即可。

var r = analyzePost(c, title, content, audience); 
+0

但是我不想在用戶點擊按鈕時刷新頁面。 –

+0

這很棒,因爲這不會觸發頁面刷新。 – lincolnk

+0

好的,我現在直接點擊後調用該函數。沒有更多的Ajax電話。謝謝! –