2015-03-13 63 views
-2

沒有人知道什麼是這行代碼的輸出

$.get("http://192.168.4.1:80/", {pin:p}); 

我的意思是,我知道它的一個AJAX?通過GET發送數據的代碼,但我想手動發送相同的數據,像這樣「.../pin:13」或「http://192.168.4.1:80/pin:13」但不起作用 特別是我對這個「{pin:p }」,我不知道的是,輸出I感激,如果有人回答

+2

'$ .get'執行GET請求。 GET參數是URL中'?'後面的內容,由'key = value&key2 = value2'指定,所以它會返回任何'http://192.168.4.1:80 /?pin = foo'返回其中'foo '是'p'變量的值。我們沒有其他想法,因爲您沒有給我們任何其他信息,並且IP是您本地網絡上的私有IP。 '{pin:p}'創建一個新的JavaScript對象,其中鍵'pin'被設置爲'p'的值。 – h2ooooooo 2015-03-13 17:28:59

+0

對於GET調用,傳遞的值通過'url'進行。所以你需要格式化參數更像?pin = 13。爲什麼不使用基本的ajax調用,因爲您已經使用$ .ajax()而不是$ .GET()來使用jquery?然後,您可以指定該調用是GET還是POST,並以更一般的方式設置參數。 http://api.jquery.com/jquery.ajax/ – Bardicer 2015-03-13 17:31:40

+0

另外,令你困惑的{pin:p}是一個json對象,其屬性名爲pin,屬性值爲p。 – Bardicer 2015-03-13 17:33:18

回答

2

這將導致這樣的網址:。

http://192.168.4.1:80/?pin=p 

您可以在此URL中替換變量p的值。

{pin:p}告訴jQuery在請求時要向URL添加什麼查詢字符串,其中對象中的每個屬性/值對都成爲URL查詢字符串中的一個prop=value對。

如果您查看Chrome調試器的網絡選項卡,您可以準確查看瀏覽器通過網絡發送的任何網絡請求的內容。


如果你想送什麼是這樣的:

http://192.168.4.1:80/pin:13

然後,你需要手動構建網址:

$.get("http://192.168.4.1:80/pin:" + p); 

您必須檢查是否URL的路徑部分允許使用:,還是需要使用%3A進行轉義。

0

{pin:p}是您的GET請求的query string。您的代碼相當於:

$.get("http://192.168.4.1:80?pin=" + p); 
相關問題