2015-07-22 17 views
15
của Angular

Tôi đang sử dụng dịch vụ $http của Angular để thực hiện yêu cầu api trên web. Khi tôi sử dụng phương thức GET, hai giá trị param được bổ sung vào chuỗi truy vấn:

// http://foo.com/api/test?heroId=123&power=Death+ray 
$http.get("/api/test", { 
    params: { heroId: 123, power : "Death ray" } 
}) 

Tuy nhiên, khi tôi sử dụng phương pháp PUT params là JSON-mã hóa và gửi như yêu cầu tải trọng:

// {"params":{"heroId":123,"power":"Death ray"}} 
$http.put("/api/test", { 
    params: { heroId: 123, power : "Death ray" } 
}) 

Làm cách nào để buộc các tham số được thêm vào chuỗi truy vấn khi sử dụng PUT?

Trả lời

28

Với $http.put, $http.post hoặc $http.patch, các cấu hình đối tượng chứa thông số url của bạn đi như số thứ ba, đối số thứ hai là cơ quan yêu cầu:

$http.put("/api/test",          // 1. url 
      {},            // 2. request body 
      { params: { heroId: 123, power : "Death ray" } } // 3. config object 
); 

$http.putdocumentation để tham khảo

-2

AngularJS gửi dữ liệu json chứ không phải dữ liệu định dạng x-www-form-urlencoded. Mặc dù bạn có thể thử cách dưới đây:

$http.put("/api/test", { heroId: 123, power : "Death ray" }); 
+0

Xin lỗi, nhưng điều đó không hiệu quả. – tronman

Các vấn đề liên quan