2017-07-26 82 views
0

我不明白,我应该怎么做专法javascrpt例如:如何在javascript中实现loopback CURL?

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d "{ 
    \"name\": \"GreatNight\", 
    \"city\": \"Tehran\" 
}" "http://localhost:3000/api/CoffeeShops" 

怎么可能是这个样子的代码在JavaScript?

+2

cURL不适用于Javascript。如果你在谈论客户端(浏览器)JS,那么你想要的是一个AJAX请求。你可以谷歌数以百计的例子如何做到这一点。如果你在说node.js,那么看看这里:https://stackoverflow.com/questions/6819143/curl-equivalent-in-nodejs。附:不确定你在这种情况下通过“回送”引用了什么? – ADyson

+0

@adyson,谢谢。我想在移动应用中使用crud api,这是实现b,离子和使用打字稿/ JavaScript和角度。 – RSA

+0

您可能需要了解更多关于node.js的信息https://www.npmjs.com/package/curl。 – Parsaria

回答

1

与jQuery ajax

$.ajax({ 
    type: 'POST', 
    url: "http://localhost:3000/api/CoffeeShops", 
    data: { 
    name: "GreatNight", 
    city: "Tehran" 
    }, 
    dataType: "json", 
    accepts: { 
    text: "application/json" 
    } 
}); 
+0

谢谢,但我不认为jQuery和Ajax将解决我在Ionic App中的问题。 – RSA

1

这是解决方案:

HTML

<ion-content> 
    <ion-list> 
    <ion-item> 
     <ion-label fixed> shop name </ion-label> 
     <ion-input type="text"[(ngModel)]="name" > </ion-input> 
    </ion-item> 

    <ion-item> 
     <ion-label fixed> city </ion-label> 
     <ion-input type="text" [(ngModel)]="city"> </ion-input> 
    </ion-item> 

    <ion-item> 
     <button ion-button block large (click)="post()">post </button> 
    </ion-item> 

    </ion-list> 

</ion-content> 

page2.ts

import { Component } from '@angular/core'; 
import { Http, Headers, RequestOptions } from '@angular/http'; 
import 'rxjs/add/operator/catch'; 
import 'rxjs/add/operator/toPromise'; 

import { NavController, NavParams } from 'ionic-angular'; 

@Component({ 
    selector: 'page-page2', 
    templateUrl: 'page2.html' 
}) 
export class Page2 { 
    public name; 
    public city; 
    constructor(public navCtrl: NavController, public navParams: NavParams, public http: Http) { } 

post(){ 
let headers = new Headers(
{ 
    'Content-Type' : 'application/json' 
}); 
let options = new RequestOptions({ headers: headers }); 

let data = JSON.stringify({ 
    name:this.name, 
    city:this.city 
}); 
console.log(data); 
let url = 'http://localhost:3000/api/CoffeeShops'; 
return new Promise((resolve, reject) => { 
    this.http.post(url, data, options) 
    .toPromise() 
    .then((response) => 
    { 
    console.log('API Response : ', response.json()); 
    resolve(response.json()); 
    }) 
    .catch((error) => 
    { 
    console.error('API Error : ', error.status); 
    console.error('API Error : ', JSON.stringify(error)); 
    reject(error.json()); 
    }); 
}); 
} 

} 
+0

嗨@Reza,干得好。 – Parsaria