2016-02-29 12 views
5

Tôi cần gửi một mảng json tới api an toàn từ ứng dụng angularjs của tôi. Tôi đang sử dụng ngresources để làm điều này. Kể từ bây giờ, tôi đã được abled để đăng và đặt đối tượng duy nhất không có vấn đề, nhưng bây giờ tôi cần phải gửi một mảng các đối tượng và tôi không thể.

Tôi đã cố gắng thực hiện cuộc gọi từ ứng dụng còn lại bên ngoài và hoạt động tốt nhưng không thể thực hiện được từ ứng dụng góc của tôi. Tôi có trie để phân tích cú pháp objet với JSON.stringify nhưng vẫn không hoạt động. Tôi đặt tiêu đề 'Content-Type': 'application/json', cũng như trên $ resources.

Đây là cách tôi làm negresource:

.factory('AddSignosClinicos', function ($resource) { 

    return $resource(dondeapuntar + "/Rest/Pacientedatossignosclinicos.svc/pACIENTEDATOSSIGNOSCLINICOSList/Add", {}, { 
     create: { method: "POST", headers: { 'Content-Type': 'application/json', params: {} } } 
    }); 
}) 

Và đây là cách tôi gọi hàm:

var objeto = JSON.stringify(SignosClinicosGuardar); 

var signosClinicosService = new AddSignosClinicos(objeto); 

signosClinicosService.$create().then(function() {}); 

tôi đã thực hiện một console.log của objeto, và là một mảng json thích .

Bất kỳ ý tưởng nào?

Thank you very much

EDIT

Tôi đã thử $ http thành phần cho các bài yêu cầu, và nó làm việc! Tôi không hiểu tại sao không được làm việc với ngResources, đây là mã của tôi với $ http:

$http({ 
      url: 'http://localhost:1046/Rest/Pacientedatossignosclinicos.svc/pACIENTEDATOSSIGNOSCLINICOSList/Add', 
      method: "POST", 
      data: SignosClinicosGuardar, 
      headers: { 
       'Content-Type': 'application/json; charset=UTF-8' 
      } 
     }); 
+0

cung cấp đoạn mã và đào sâu về việc cắt xén lỗi nghiêm ngặt. – morels

+0

Ồ, xin lỗi vì điều đó. Tôi đã thêm mã ở trên. Cảm ơn bạn –

+0

Thử thêm tùy chọn 'isArray: true' vào tài nguyên $ đã trả về của bạn. [Xem ng tài liệu về $ resource] (https://docs.angularjs.org/api/ngResource/service/$resource) – Fiver

Trả lời

5

Để gửi một mảng của các đối tượng bạn sẽ cần phải thêm tùy chọn isArray: true để bạn $ tài nguyên:

.factory('AddSignosClinicos', function ($resource) { 
    return $resource(
     "url-string-here", 
     {}, 
     { 
      create: { 
       method: "POST", 
       isArray: true 
      } 
     } 
    ); 
}) 

Gọi create chức năng mới sẽ giống như thế này:

//some list of your object instances 
var array_of_objects = ... 

var saved_objects = AddSignosClinicos.create(
    array_of_objects 
); 

saved_objects.$promise.then(function() { 
    ... 
}); 

Lưu ý, các create vs $create, không có 012..

See the Angular documentation on $resource

+0

Điều đó không hoạt động. Cảm ơn bạn –

+0

Tôi đã thêm một số mã giả hiển thị mức sử dụng cơ bản, vì tôi không chắc chắn bạn đang gọi đúng phương thức tài nguyên. – Fiver

+0

Bạn nói đúng. Tôi đã gọi sai tài nguyên $. Cảm ơn bạn rất nhiều! :) –

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