2017-09-16 7 views
2

私はElasticsearchインスタンスにいくつかのJSONをポストするAJAX呼び出しをしようとしています。とにかく 'データ'リクエストでグローバル変数の値を使用できますか?AJAX JSON POSTリクエストのグローバル変数値を使用

次のようなものはありますか?それはあなたが要素#div.Nameを選択し、AJAXリクエストで(それは<input />要素だと仮定して)値を送信するかのように聞こえるコメントにあなたの説明から、

$(document).ready(function() { 
    $('#Log-submit').on('click', function(e) { 
    e.preventDefault(); 
    var btn = $(e.target); 
     btn.attr("disabled", "disabled"); // disable button 
    $.ajax({ 
     data: JSON.stringify({"name" : "#div.Name"}), //use global variable value in JSON POST request 
     dataType: 'json', 
     processData: false, 
     type: 'POST', 
     contentType: "application/json; charset=utf-8", 
     url: 'http://my-API.com:9200/escalations/' 
    }); 
    }); 
}); 
+1

AJAXリクエストではグローバル変数を使用できますが、あなたのコードではそうしていません。あなたは '#div.Name'文字列リテラルを送るだけです。代わりにその要素のテキストや属性を送信しようとしていますか?また、これがドメイン間要求の場合は、他のドメインがCORSヘッダーを返すことを確認してください。 –

+0

$( '#div.Name')。val() - これは機能しますか? –

+1

"#div.Name"から取得した値があります。その 'John Smith'と言っています。私のESインデックスを更新するためにPOSTリクエストを次のように送信したいとします。 "name": "John Smith" – Putters

答えて

1

。これはグローバル変数とは異なるロジックですが、それでも簡単に可能です。必要なものに

、あなたはこのように、それはval()のgetその要素を選択する必要があります。

$.ajax({ 
    data: { name: $('#div.Name').val() }, 
    dataType: 'json', 
    type: 'POST', 
    contentType: "application/json; charset=utf-8", 
    url: 'http://my-API.com:9200/escalations/' 
}); 

はまた、私はあなたがJSONをエンコードするために必要なことを意味してfalseに設定するようprocessDataを取り除くことに注意してください手動で、これは冗長です。正しい場合はcontentTypeとしてください。

関連する問題