Heim  >  Artikel  >  Web-Frontend  >  Welche Möglichkeiten gibt es, JSON-Parameter mit der Post-Methode zu übergeben?

Welche Möglichkeiten gibt es, JSON-Parameter mit der Post-Methode zu übergeben?

php中世界最好的语言
php中世界最好的语言Original
2018-05-03 09:27:169261Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie die Post-Methode zum Übergeben von JSON-Parametern verwenden. Was sind die Vorsichtsmaßnahmen bei der Verwendung der Post-Methode zum Übergeben von JSON-Parametern? sehen.

Die Details lauten wie folgt:

1. Der Standardtyp der von der $http POST-Methode übermittelten Daten ist application/json

var data = {'wid':'0', 'praise' : '25'}; 
$http.post(url, data).success(function(result) { 
 // 
});

Die letzte gesendete Anfrage lautet:

POST http://www.example.com HTTP/1.1 
Content-Type: application/json;charset=utf-8 
 
{'wid':'0','praise':'25'}

Die Standardmethode kann das JSON-Objekt direkt in Form eines Strings an den Server übergeben besser geeignet für RESTful-Schnittstellen. Aber der $_POST des PHP-Skripts kann die JSON-Daten nicht aus dem Anfragetext abrufen.

Sie können Folgendes verwenden:

$data = file_get_contents("php://input"); //获得原始输入流

Hinweis: php://input ist ungültig, wenn enctype="multipart/form-data"

Nachdem Sie den ursprünglichen Eingabestream der Anfrage erhalten und ihn dann entsprechend verarbeitet haben, können Sie die JSON-Daten abrufen.

2. Verwenden Sie x-www-form-urlencoded, um die JSON-Daten zu übermitteln

app.factory("Comment",function($http){
 return {
  get : function(commentFileUrl) {
   return $http({
    method: "GET",
    url: commentFileUrl,
    params: {R:Math.random()},
    headers: {'Cache-Control':'no-cache'}
   });
  },
  //保存一个评论
  save : function(toUrl,saveFileUrl,Data) {
   $http({
    method: "POST",
    url: toUrl,
    data: {saveUrl:saveFileUrl,commit:Data},
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    transformRequest: function(obj) {
     var str = [];
     for (var p in obj) {
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
     }
     return str.join("&");
    }
   }).success(function(data){
    console.log("数据已保存!");
   }).error(function(data) {
    alert("数据保存失败,错误信息:" + JSON.stringify({data:data}));
   });
  }
 }
});
var updateClickRate={'wid':'0','click_rate':'87'};
Comment.save("php/updateWork.php","../userdata/work_content.json",JSON.stringify(updateClickRate));

Die endgültige Anfrage wurde gesendet Es ist:

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Was sind die Verwirrungspunkte bei der Verwendung von JS?

vue.JS führt die Warenkorb- und Adressauswahl durch Mit

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, JSON-Parameter mit der Post-Methode zu übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn