2017-03-17 30 views
1

我在我的應用程序中有幾個ajax調用,他們都去同一個文件服務器端。我想知道我是否可以使用一個變量...我想有一種方法來區分來自其他調用的調用,當然,使用該變量來選擇文件中的哪個腳本發送回客戶端。在腳本以任何方式運行後,我不需要使用該變量。或者我是否以這種錯誤的方式去做?在服務器端腳本中訪問jQuery數據變量在ajax調用

例如,這是我的AJAX調用之一

var variable1 = 'currentuser1var'; 

return $.ajax({ 
      type: 'GET', 
      url: '/users/index', 
      data: {currentuser1var: variable1}, 
      dataType: 'script', 
     }); 

然後在我的服務器端文件中的腳本將

if (currentuser1var) { script here } 

else if (currentuser2var) { script here } 

... 

我不知道如何訪問字符串對象內部呼叫。我需要首先訪問對象然後字符串?或者只是引用變量如何。

編輯試圖

if(typeof(currentuser1var) != "undefined") { script here } 

無濟於事。

+0

什麼是您的服務器端語言? – Rick

+0

如果是php,你可以查看變量$ _GET或$ _REQUEST –

+0

查看@ Aj334的回答。如果你在調用中使用url,可能會更清楚:'url:'/ users/index?currentuser1var ='+ variable1,'。 – sandrooco

回答

0

AJ是在這裏我想對PHP的,因爲我沒有列出我使用的是什麼服務器端的代碼,但簡單地說,我改變了我的Ajax調用

return $.ajax({ 
    type: 'GET', 
    url: '/users/show', 
    data: { currentuser1var: 'variable1'}, 
}); 

其中關鍵是currentuser1var和值variable1是一個字符串,並留下了定義在代碼中的其他變量。這種方式的URL正確地到達服務器/users/show?currentuser1var=variable1。在我的目標文件中添加我的ruby代碼以使用變量。

1

如果您使用PHP,你的服務器端腳本是:

if(isset($_GET['currentuser1var'])) { 


    ... script to process the currentuser1var variable ... 


} else if (isset($_GET['currentuser2var'])) { 


    ... script to process the currentuser2var variable ... 


} 
+0

是的,我在另一篇文章中發現了這個,但我在js.erb文件服務器端的rails上使用ruby。看到我附加的代碼。該腳本不會讀取第一個腳本。即第一個'if'語句觸發,但之後的任何內容都不會生成頁面。但是我會說服務器顯示沒有錯誤。當你無法查看錯誤的位置時,很難進行調試。感謝指導我在正確的方向雖然:) –

+0

這裏是另一個[引用isset()相當於JS](http://stackoverflow.com/questions/2281633/javascript-isset-equivalent)。另一個關於[檢測未定義的對象屬性 ](http://stackoverflow.com/questions/27509/detecting-an-undefined-object-property)。 – Aj334

+0

好的謝謝。也許我會嘗試用我的迴應的警報來分解問題,並保持簡單並查看問題所在。謝謝你的幫助。我會添加一個答案,如果我得到它的工作。 –

相關問題