将响应传递到视图时发生java Nativescript错误
当选择了listview
级别(在product.xml中)时,我尝试发送POST
请求,并且从响应中我尝试构建另一个listview
(在brand.xml中)。我已成功发送POST
请求并获得响应。但我未能将回应传递给view。也就是说我无法构建视图。我想问题是我不能正确地发送数据(与级别文本相关),所以我失败了。我收到此错误:***尝试调用虚拟方法“intjave”。lang.Integer。空对象**上的intValue()。这是我的代码-
产品。xml:
<Label text="{{ category }}" horizontalAlignment="left" verticalAlignment="center" tap="brand" />
产品。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");
}
品牌\u视图\u型号:
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;
**品牌。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();
};
品牌。xml:
<Page loaded="loaded">
<GridLayout>
<ListView items="{{ brandList }}" >
<ListView.itemTemplate>
<Label text="{{ brand }}" horizontalAlignment="left" verticalAlignment="center" tap="brand" />
</ListView.itemTemplate>
</ListView>
</GridLayout>
</Page>
共 (0) 个答案