2012-10-03 75 views
0

一個字符串,我意識到我是多麼糟糕的JavaScript :(的Javascript - 添加變量的代碼

我有這樣的:

function getUrlVars() { 
var vars = {}; 
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,  
function(m,key,value) { 
    vars[key] = value; 
}); 
return vars; 
} 

var theidis = getUrlVars()["id"]; 

$.tzPOST = function(action,data,callback){ 
$.post('php/ajax.php?id='+theidis,'&action='+action,data,callback,'json'); 
} 

$.tzGET = function(action,data,callback){ 
$.get('php/ajax.php?id='+theidis,'&action='+action,data,callback,'json'); 
} 

首先得到? id = value參數正確,我用一個alert(theidis)進行測試

我期待做一件簡單的事情 - 對不起,如果th是愚蠢的 - - 我已經這樣工作了很長時間,以至於我開始監督事情。

我想要一個?id =值被添加到php/ajax.php。我嘗試了以上,但它似乎並沒有工作。我也嘗試過添加它。

預先感謝您。 :-)

回答

1

$.get調用指定

'php/ajax.php?id='+theidis, '&action='+action, data ... 

它看起來像你傳遞數據的兩倍。 &action='+action應該是您的數據參數,或data。你的意思是連接&action部分到URL中嗎?

+0

嗯,它們是三個獨立的功能。我知道劇本適用於「theidis」的作品。我正在尋找 - 在調用文件時 - 在運行腳本時向數據庫中的ID事件添加另一個稱爲ID的參數。它甚至有可能嗎?或者我自願將我的頭撞到了牆上.- – Christian

+1

@Christian:['.get'](http://api.jquery.com/jQuery.get/)具有簽名'get(url [,data ] [,success(data,textStatus,jqXHR)] [,dataType])''。所以你的第一個參數總是你的URL,它可能包含額外的數據,通過傳遞查詢字符串。如果你想添加更多的數據,你可以在第二個參數中做到這一點。這可能是一個字符串或一個對象。你當前正在傳遞''&action ='+ action'作爲你的第二個參數。然後你傳遞'data',當你已經傳遞了字符串數據時,這是沒有意義的。你的第三個參數應該是回調。 –

+0

因此,一切都可以結合到+動作? – Christian

1

你可能是指:

$.tzGET = function(action,data,callback){ 
    $.get('php/ajax.php?id='+theidis + '&action='+action,data,callback,'json'); 
} 

更改,標誌+跡象。

注意!:data如果您將字符串指向URL的查詢字符串,則該字符應該爲空。

+0

我沒有在這裏的代碼 - 但這應該在ID中調用?數據應該是空的?對不起,如果這是一個愚蠢的問題。 :-) – Christian