簡體   English   中英

HUE API JavaScript HTTP PUT請求返回“ net :: ERR_EMPTY_RESPONSE”

[英]HUE API JavaScript HTTP PUT Request returning “net::ERR_EMPTY_RESPONSE”

  1. GET請求工作正常。

  2. 來自API調試工具的PUT請求可以正常工作。

  3. PUT和POST,無論使用的是數據還是API URL,都將返回以下錯誤:

    例:

    選項http://xxx.xxx.xx/api/AuthorizedUsername/APIRequest/lights/light/1/狀態網:: ERR_EMPTY_RESPONSE

它返回一個空響應。

我相關的Angular JS代碼:

var bridgeIp = "http://xxx.xxx.x.x";
var username = "authenticatedUsername";
var lightData = {"on": true};

$http.put(bridgeIp+"/api/"+username+"/lights/5/state", lightData)
.then(function success(response) {
          console.log(response.data);
     }, function error(e){
          console.log(e);
     });

我也嘗試過使用JQuery的Ajax函數並收到相同的問題。

我使用提琴手比較了請求,但這導致了CORS錯誤。 因此,我隨后將請求與Charles進行了比較。 結果如下:

通過API調試工具:

URL http://xxx.xxx.x.x/api/AuthorizedUser/lights/5/state
Status  Complete
Response Code   200 OK
Protocol    HTTP/1.1
SSL -
Method  PUT
Kept Alive  No
Content-Type    application/json
Client Address  /127.0.0.1
Remote Address  xxx.xxx.x.x/xxx.xxx.x.x
Timing  
Request Start Time  3/23/16 18:24:17
Request End Time    3/23/16 18:24:17
Response Start Time 3/23/16 18:24:17
Response End Time   3/23/16 18:24:17
Duration    43 ms
DNS 0 ms
Connect 2 ms
SSL Handshake   -
Request 2 ms
Response    1 ms
Latency 37 ms
Speed   20.46 KB/s
Response Speed  879.88 KB/s
Size    
Request Header  427 bytes
Response Header 421 bytes
Request 12 bytes
Response    41 bytes
Total   901 bytes
Request Compression -
Response Compression    -

通過JavaScript通過我的http請求:

URL http://xxx.xxx.x.x/api/AuthorizedUser/lights/5/state
Status  Failed
Failure Remote server closed the connection before sending response header
Response Code   -
Protocol    HTTP/1.1
SSL -
Method  OPTIONS
Kept Alive  No
Content-Type    -
Client Address  /127.0.0.1
Remote Address  xxx.xxx.x.x/xxx.xxx.x.x
Timing  
Request Start Time  3/23/16 18:24:55
Request End Time    3/23/16 18:24:55
Response Start Time -
Response End Time   3/23/16 18:24:55
Duration    14 ms
DNS 0 ms
Connect 2 ms
SSL Handshake   -
Request 2 ms
Response    -
Latency -
Speed   31.74 KB/s
Response Speed  -
Size    
Request Header  455 bytes
Response Header -
Request -
Response    -
Total   455 bytes
Request Compression -
Response Compression    -

任何幫助表示贊賞。

這對我有用:

 var xmlhttp = new XMLHttpRequest(); xmlhttp.open("PUT", 'http://<local address>/api/<username>/groups/1/action'); xmlhttp.send('{"on":true, "hue": 16000, "bri": 254'}'); 

您的JavaScript輸出將Method顯示為OPTIONS。 如果那是發布頂部列出的OPTIONS,那么這看起來是錯誤的,因為它說... APIRequest / lights / light / 1 / state,但可能應該是... APIRequest / lights / 1 / state

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM