2016-07-31 1 views
-1

私は私のバックエンドのAPIサービスにいくつかのデータを投稿しようとすると、私はXMLHttpRequestオブジェクトを使用しますが、私はajax.sendでデータを送信しようとすると、それはサーバーサーバーにXHRポスト何も

コードsnipperには何も送信されません。

ajax = new XMLHttpRequest(); 
ajax.open("POST", "https://someapi.com",true); 
ajax.send({ 
    name: "Name", 
    phone: "123468375698563897569575863" 
}); 

ajax.onreadystatechange = function(){ 

    if(ajax.readyState==4){ 
     JSONback = JSON.parse(ajax.response); 
     console.log(JSONback); 
    } 
}; 

答えて

0

ワイヤでJSオブジェクトを直接送信することはできません。

最初に文字列に変換する必要があります。逆に戻すときに解析する必要があります。

ajax = new XMLHttpRequest(); 
ajax.open("POST", "https://balbalbal.com", true); 
ajax.send(
    JSON.stringify({ 
    name: "Name", 
    phone: "123468375698563897569575863" 
    }) 
); 

ajax.onreadystatechange = function(){ 
    if(ajax.readyState==4){ 
    JSONback = JSON.parse(ajax.response); 
    console.log(JSONback); 
    } 
}; 

サーバ側の最も簡単なPHPのテストコードは次のようになります。

<?php 
    echo file_get_contents('php://input'); 
?> 

そしてここでは、それを復号化し、新たなフィールドを追加し、それを送り返しますもう少し高度な例である:

<?php 
    $json = file_get_contents('php://input'); 
    $object = json_decode($json); 
    $object->id = 123; 

    echo json_encode($object); 
?> 
+0

と私はイベントは、サーバー側でやっているサーバー –

+0

から戻ってJSONを取得できません。この時点?どの言語を使用していますか? – Arnauld

+0

PHPを私のサーバー側言語として使用しています。これは私が作成しているAPIプロジェクトです。私のドキュメントにはすでにjQueryが含まれています。プレーンなJSコードも追加したいと思います。また、JS –

0

あなたがする必要がある:

  1. Yと答えOUには、JavaScriptのデータ構造をJSON
  2. このような

に変換JSON

  • を送信している:

    var data = { 
        name: "Name", 
        phone: "123468375698563897569575863" 
    }; 
    
    var json = JSON.stringify(data); 
    
    var ajax = new XMLHttpRequest(); 
    ajax.open("POST", "https://balbalbal.com", true); 
    ajax.setRequestHeader("Content-Type", "application/json"); 
    ajax.send(json); 
    
  • +0

    そして今回私はイベントがサーバーからJSONを返さないようにします。 –

    +0

    @FelixFong - JSONを送信します。 JSONを取得していない場合は、その理由がたくさんあります。おそらく、あなたは原産地間の要求をしていて、同じ原産地政策に踏み込んでいるかもしれません。おそらくURLはJSON形式のPOSTリクエストを受け付けないかもしれません。たぶんあなたは単にURLを間違っているかもしれません。たぶん、他のものの束。ブラウザのデベロッパーツールの[ネットワーク]タブと[コンソール]タブを使用してデバッグします。 – Quentin

    +0

    honsになるには、それは私のAPIドキュメントの例です。私は既にドキュメントページでsquirtingを取得していますが、今はちょうどもう一つの方法を追加して、dev showをプレーンな古いJSを使って表示し、私が持っている最大の問題は、私はJSに新しいですが、私は多くの他の人のようにjQueryを使う方法をよく知っています –

    関連する問題