選択フォーム入力のオプションリストを返すajaxリクエストがあります。私はアドレスを表すために各オプションの価値についてjsonを持っています。ただし、二重引用符で問題が発生し、最初の{
だけがバックエンドに返されます。選択オプション値でJsonを使用する - 二重引用符によるエラー
chrome devツールの値を見ると、chromeで認識される値が最初の{
であり、json全体ではないことがわかります。どのようにしてjson値を正しく保持するためにselectの値を得ることができますか?ブラウザに表示されます
オプションの値は次のとおりです。
<option value="{" dept":="" "",="" "orgn":="" "pobx":="" "subb":="" "bnam":="" "aspen",="" "bnum":="" "dpth":="" "thor":="" "knoll="" road",="" "ddlo":="" "dplo":="" "town":="" "",="" "cnty":="" "surrey",="" "pcod":="" "gu9="" 2XZ",="" "ppco":="" "tpco":="" 2ep"}"="">ASPEN</option>
アヤックスのイベントは次のとおりです。
$(document).ready(function() {
$('#id_previous2_postcode').change(function() {
var postcode2 = $(this).val()
console.log(postcode2)
$.ajax({
url: '/users/prior_addresses_ajax/',
data: {
'postcode': postcode2
},
dataType: 'json',
success: function (data) {
options = data.property_choices.map(function (subarray) {
return '<option value="' + subarray[0] + '">' + subarray[1] + '</option>'
})
$('#id_previous2_full_address').html(options)
}
})
})
})
私は 'JSON.stringify'を使うのが良いと思っています –
' JSON.stringify(data) 'のレスポンスを追加して、データの内容を見ることができますか? – styfle