当我选择POST
级别(在product.xml中)时,我正在尝试发送listview
请求,并且我正在尝试构建另一个listview
(在品牌中) .xml)。我已成功发送POST
请求并获得响应。但我未能将响应传递给view.That是我无法构建视图。我认为问题是我可以&#39 ; t正确发送数据(与级别文本相关联),所以我失败了。我收到此错误:****尝试调用虚方法' intjave.lang.Integer.intValue()' * *在空对象上**。 null这是我的代码 -
product.xml:
<Label text="{{ category }}" horizontalAlignment="left" verticalAlignment="center" tap="brand" />
product.Js:
exports.brand=function (args) {
var item =args.object;
text=item.text;
getBrand(text);
};
function getBrand(data) {
brand.get(data);
frameModule.topmost().navigate("view/brand/brand");
}
Brand_View_Model:
function BrandViewModel() {
var viewModel = new Observable({
});
viewModel.get = function (category){
data = category;
}
viewModel.load = function() {
fetch("http://10.0.2.2:8000/user_signup", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
category: data,
})
}).then(function(response) {
return response.json();
}).then(function(data) {
for(var i=0;i<data.length;i++){
viewModel.push({
brand: data[i].brand,
});
};
});
}
viewModel.empty = function() {
while (viewModel.length) {
viewModel.pop();
}
};
return viewModel;
}
function handleErrors(response) {
if (!response.ok) {
console.log(JSON.stringify(response));
throw Error(response.statusText);
}
return response;
}
module.exports = BrandViewModel;
** Brand.js:**
var BrandViewModel = require("../../shared/brand_view_model");
var observableModule = require("data/observable");
var page;
var data;
var brandList = new BrandViewModel([]);
var pageData = new observableModule.fromObject({
brandList: brandList
});
exports.loaded = function(args) {
page = args.object;
page.bindingContext = pageData;
brandList.empty();
brandList.load();
};
Brand.xml:
<Page loaded="loaded">
<GridLayout>
<ListView items="{{ brandList }}" >
<ListView.itemTemplate>
<Label text="{{ brand }}" horizontalAlignment="left" verticalAlignment="center" tap="brand" />
</ListView.itemTemplate>
</ListView>
</GridLayout>
</Page>