1
nativescript android appを開発中に問題が発生しています。私はPOSTリクエストを送信しようとしています。そのリクエストからレスポンスを取得しようとしています。このレスポンスを使用して、ListView 。私は正常にPOSTリクエストを送信し、server.Butの問題からの応答は、私が埋めることができないで持っているlistview.HereはNativescript表示するデータを渡す
<Page loaded="loaded">
<StackLayout>
<Image src="res://logo" stretch="none" horizontalAlignment="center"/>
<TextField text="{{ name }}" id="name" hint="Name" />
<TextField text="{{ email }}" id="email" hint="E-mail" />
<TextField text="{{ password }}" secure="true" hint="Password" />
<Button text="Sign Up" tap="register" />
</StackLayout>
</Page>
Register.js Register.xml私のコード -
です
var dialogsModule = require("ui/dialogs");
var frameModule = require("ui/frame");
var UserViewModel = require("../../shared/view-models/user-view-model");
var user = new UserViewModel();
exports.loaded = function(args) {
var page = args.object;
page.bindingContext = user;
};
function completeRegistration() {
user.register()
.then(function() {
dialogsModule
.alert("Your account was successfully created.")
.then(function() {
frameModule.topmost().navigate("views/list/list");
});
}).catch(function(error) {
console.log(error);
dialogsModule
.alert({
message: "Unfortunately we were unable to create your account.",
okButtonText: "OK"
});
});
}
exports.register = function() {
completeRegistration();
};
ユーザービューmodel.js
function User(info) {
info = info || {};
var viewModel = new Observable({
name: info.name || "",
email:info.email || "",
password: info.password || "",
});
viewModel.register = function() {
return fetchModule.fetch("http://10.0.2.2:8000/user_signup", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
name: viewModel.get("name"),
email:viewModel.get("email"),
password:viewModel.get("password"),
}).then(r => { return r.json(); }).then(function (r) {
for(var i=0;i<r.length;i++){
var goods={name:r[i].name}
goodsList.push(goods);
};
console.log(goodsList);
}, function (e) {
console.log("Error occurred " + e);
});
};
return viewModel;
}
function handleErrors(response) {
if (!response.ok) {
console.log(JSON.stringify(response));
throw Error(response.statusText);
}
return response;
}
function pageLoaded(args) {
var page = args.object;
pageData.set("goodsList", goodsList);
page.bindingContext = pageData;
}
module.exports = User;
リストビュー
<Page loaded="pageLoaded">
<GridLayout>
<ListView items="{{ goodsList }}">
<ListView.itemTemplate>
<Label text="{{ name }}" horizontalAlignment="left" verticalAlignment="center"/>
</ListView.itemTemplate>
</ListView>
</GridLayout>
</Page>
Dinh Le氏、申し訳ありませんが、エラーが発生しています。 resolveは定義されていません。 –
氏Dinh Le、今私は間違いを犯していませんが、私もリストビューに移動することはできません。 –
リストビューのページで正しいコントローラを持っていることを確認してください –