2013-05-16 28 views
3

jQuery.getJSON它說:URL格式

發送到服務器的數據添加到URL作爲查詢 字符串

這樣做有什麼格式串?我看到這個格式從這樣一個jQuery的JSON調用來從客戶端的URL:

http://<domain:port/path/something.html?somevalue=a;othervalues=1,2,3,4;v=3

是這種格式具體到JSON?我一般認爲附加到URL的參數之間用&分開

+0

顯示您的代碼。它應該是一個普通的查詢字符串,參數用'&'分隔,所以你可能會做一些事情來阻止。 – Barmar

+0

@Barmar:它不是我的代碼。我看到它來了,我碰巧知道客戶端使用'jquery'。但我不是那麼在前端的經驗給你更好的細節 – Cratylus

+0

這是無關緊要的代碼,顯示它。它們可能不會將對象作爲'data:'參數。他們要麼使用查詢字符串自己構造URL,要麼正在執行'data:string'。 – Barmar

回答

0

這是什麼字符串的格式?

該屬性可以被賦予一個對象或字符串的值。

如果給出一個對象,那麼它的鍵和值將被格式化爲application/x-www-form-urlencoded數據(就像表單提交一樣)。

如果給出一個字符串,它將是該字符串的任何內容 - 因此它可以是「無論使用它的代碼的作者希望它是什麼」。

我看到這種格式的網址...

這將是「無論作者希望」的情況下。請注意,;&可以在多個application/x-www-form-urlencoded解碼庫中互換使用。這是recommended by the HTML 4 specification

這種格式是特定於json嗎?

否。用於發出請求的URL的數據格式與響應的數據格式之間沒有關聯。

1

這個字符串的格式是什麼?

如果使用的是data: {...}格式,那麼它將被作爲application/x-www-form-urlencoded格式是:

key1=value1&key2=value2... 

例子:

$.getJSON('http://<domain:port/path/something.html', { key1: 'value1', key2: 'value2' }, function(result) { 

}); 

我看到這種格式從哪裏來的網址從客戶端這樣一個jQuery json調用: http://<domain:port/path/something.html?somevalue=a;othervalues=1,2,3,4;v=3

這是查詢使用數據參數,不發送,但可能在url(該的getJSON方法的第一個參數)直接硬編碼:

$.getJSON('http://<domain:port/path/something.html?somevalue=a;othervalues=1,2,3,4;v=3', function(result) { 

}); 

或者,他們所提供的數據作爲字符串而不是作爲鍵/值對:

$.getJSON('http://<domain:port/path/something.html', 'somevalue=a;othervalues=1,2,3,4;v=3', function(result) { 

});