Ionic2 Post請求後臺服務資料
阿新 • • 發佈:2019-01-11
1,新增Ionic providers --命令 ionic g provider baseservice
-----baseservice.ts 新增程式碼
下面這部分摘抄別人的,但是忘記是哪個網站了。。。。。
//Common post method post請求引數序列化 postSerialization(data, urlmethod) { let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }); let options = new RequestOptions({ headers: headers }); return new Promise((resolve, reject) => { this.http.post('' + this.httpurl + '' + urlmethod + '', this.toQueryString(data), options) .map(res => res.json()) .subscribe(data => resolve(data), err => reject(err)) }) } //post請求引數序列化 postSerializationSubscribe(data, urlmethod) { let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' }); let options = new RequestOptions({ headers: headers }); return this.http.post('' + this.httpurl + '' + urlmethod + '', this.toQueryString(data), options) .map(res => res.json()); } //引數序列化 private toQueryString(obj) { let result = []; for (let key in obj) { key = encodeURIComponent(key); let values = obj[key]; if (values && values.constructor == Array) { let queryValues = []; for (let i = 0, len = values.length, value; i < len; i++) { value = values[i]; queryValues.push(this.toQueryPair(key, value)); } result = result.concat(queryValues); } else { result.push(this.toQueryPair(key, values)); } } return result.join('&'); } //引數序列化 private toQueryPair(key, value) { if (typeof value == 'undefined') { return key; } return key + '=' + encodeURIComponent(value === null ? '' : String(value)); }
--------register.ts 頁面呼叫baseservice.ts post 請求 和傳入webapi方法
Register() { let self = this; let data = { "UserAd": this.userad, "PassWord": this.password}; let urlmethod = '/UserInfo/Add'; this.serviceinfo.postSerialization(data, urlmethod).then(rackallinfo=>{ let rackinfoarr=[]; for(let a in rackallinfo[0]) { rackinfoarr.push(rackallinfo[0][a]); } if(rackinfoarr.length==0) {let alert = this.alertCtrl.create({ title: 'Note!', subTitle: ' Code not exists.', buttons: ['OK'] }); alert.present(); } else {this.goToRackDetail();console.log('aaaa')} }) } RegisterNew(){ let self = this; let data = { "UserAd": this.userad, "PassWord": this.password}; let urlmethod = '/UserInfo/Add'; self.infoservice.postSerializationSubscribe(data, urlmethod).subscribe(data => { this.arrayObj = new Array(); for (let i = 0; i < data.length; i++) { this.arrayObj.push(data[i]) this.formCode = this.arrayObj[0].UserAd; this.formNo = this.arrayObj[0].password; console.log(this.formCode); console.log(this.formNo); //this.sanitizeHtml = this.sanitizer.bypassSecurityTrustHtml("<br>" +this.arrayObj[0]. +"<br><br><br>") --html內容 } } }
---後臺接收引數 aspx.cs
[AllowAnonymous] [HttpPost] public User Login(JObject jdata) { User user = new DAL.Model.User(); string adaccount = jdata["UserAd"].ToString(); string password = jdata["PassWord"].ToString(); //var adaccount = jsadaccount.ToObject<(); user = new DAL.BLL.UserRegister().Register(adaccount,password); //var user = _userList.FirstOrDefault(users => users.UserID == id); //if (user == null) //{ // throw new HttpResponseException(HttpStatusCode.NotFound); //} return user; }