2016-11-05 84 views
2

我有一個Javascript AJAX函數,可以發送一些數據(到MongoDB數據庫)f 。數據庫只包含一個文件,用於跟蹤回答的問題總數以及正確回答的問題數量。如何檢查哪個變量發送到Javascript中的函數

函數可以採用這些數字中的任意一個(在代碼中的不同位置更新),但是如何檢查函數內部的數字?它看起來像這樣:

function updateQuestionsProgress(number) { 
//TODO Check which of the two numbers is sent 
$.ajax({ 
    type: "POST", 
    url: "/statistics/quick_test", 
    data : theNumber, 

    error:function(msg, string){ 
     console.log(msg); 
    }, 

    success:function(data){ 
     alert("sd");} 
    }); 

知道它是哪個數字,我可以在URL中間件中相應地更新它。

我是否更好地做了兩個不同的功能呢?看起來很不方便,如果你有一個非常大的數據庫,你只是想更新文檔的一部分。

+1

??這是什麼意思?你已將'number'設置爲參數。你不能檢查一下嗎?你所問的並不完全清楚。 – Pointy

+0

該數字可以是x或y。我想根據它是哪一個做不同的事情。我想檢查發送到函數中的變量的名稱,或者沿着這些行。 – Mumfi

+0

你不能那樣做。 – Pointy

回答

0

你需要的是函數的調用者告訴你它是哪個數字。 您可以發送一個字符串布爾標誌(因爲它只是兩個選項)或一個對象。

function updateQuestionsProgress(dataObj) { 
//TODO Check which of the two numbers is sent 
$.ajax({ 
    type: "POST", 
    url: "/statistics/quick_test", 
    data : dataObj, 

當您撥打updateQuestionsProgress(dataObj)時,您可以將任何您喜歡的對象傳遞給函數。 E.x. var dataObj = {"answers" : 5, "correct_answers": 3}以及其他你需要的東西。

+0

是的,我開始這樣做,但有一個對象。看起來很笨重,特別是如果有更多的選擇。 – Mumfi

+0

您是否意味着您要將'var obj = {「answers」:7}'這樣的對象發送到函數中。因爲它可以擴展。最後你發送一個post請求 - 它可能包含許多鍵和值。採用你的對象方法可能是最好的解決方案。 – 108