2011-09-06 26 views
5

Tôi đang cố gọi một API có yêu cầu POST. Nhưng Chrome Inspector của tôi chỉ cho tôi method='GET' trong tab mạng ...ExtJS 4 - Các sự cố với JsonStore + Yêu cầu đăng

Dưới đây là mã của tôi:

Ext.define('TestItem', { 
     extend: 'Ext.data.Model', 
     fields: [ 
      {name: 'id', type: 'int'}, 
      {name: 'name', type: 'string'} 
    ] 
    }); 

    var testStore = Ext.create('Ext.data.JsonStore', { 
     model: 'TestItem', 
     autoLoad: true, 
     proxy: { 
      type: 'ajax', 
      url : '../path_to/api/', 
      method : 'POST', 
      reader: { 
       type: 'json', 
       root: 'data', 
       totalProperty: 'total' 
      } 
     }, 
     baseParams: { 
      operation:'showall' 
     } 
    }); 

Vì vậy, O muốn gọi API với method='POST' và tham số operation = showall

Các chương trình Google Inspector tôi trong tab mạng thông tin sau:

GET ../path_to/api/?_dc=1315297478131&page=1&start=0&limit=25 HTTP/1.1 

Tại sao yêu cầu GET lại?

Tại sao có một số thông số như giới hạn, bắt đầu và dc?

Tôi đã thử 1000 hướng dẫn và googled cả đêm.

+1

thể trùng lặp [cửa hàng extjs4 addes được params trong url] (http://stackoverflow.com/questions/6925081/extjs4-store-addes-get-params-in-the-url/6926857#6926857) –

Trả lời

17

Trong phương thức extjs4: POST không hoạt động. Trong extjs4 bất kỳ đọc được gửi bởi GET và bất kỳ viết (POST, PUT, DELETE) được gửi bằng POST. Để ghi đè điều này, hãy xem actionMethods.

type: 'ajax', 
actionMethods: { 
    create : 'POST', 
    read : 'POST', 
    update : 'POST', 
    destroy: 'POST' 
} 
+0

Vâng, cảm ơn rất nhiều! – M00ly

+0

nhưng làm cách nào để đặt nội dung yêu cầu? – Isaac

+0

+1 cho câu trả lời. –

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