APIとやりとりするためのファイルを使用しています。まず、APIが検索フォームを作成するためにHTMLとJavascriptを送信すると、APIはその検索フォームのクエリを処理できます。エラー:AJAX応答内のAJAX呼び出し
私は2番目のリクエストにいくつかの問題があります。これは最初のリクエストの成功関数内で呼び出されます(これは問題だと思われます)。ここで私が作業しているコードです。
$.ajax({
type: "POST",
url: "https://vq3rsgkd94.execute-api.us-east-1.amazonaws.com/deploy",
crossDomain: true,
data: JSON.stringify({
"stage": "load",
"fields": ["first_name", "last_name", "graduation_year"]
}),
success: function(response) {
response = JSON.parse(response);
$(response.html).prependTo("#content");
$(response.scripts).appendTo("body");
},
complete: function() {
//get field inputs
var fieldInput = {
"first_name_query": "",
"last_name_query": "",
"graduation_year_query": ""
};
$('form').find('input[type=search]').each(function(index, value) {
var variableName = value.name;
var fieldId = "#" + value.name;
$(fieldId).keyup(function() {
variableName = $(this).val();
fieldInput[value.name + "_query"] = variableName
console.log(value.name + ":" + fieldInput[value.name + "_query"]);
})
.keyup();
});
$('#search_form').submit(function(event) {
event.preventDefault();
$.ajax({
type: "POST",
url: "https://vq3rsgkd94.execute-api.us-east-1.amazonaws.com/deploy",
data: JSON.stringify({
"stage": "search",
"fields": ["first_name", "last_name", "graduation_year"],
"query": {
"first_name": fieldInput["first_name_query"]
}
}),
success: function(response) {
response = JSON.parse(response);
console.log(response);
}
});
})
}
});
応答を解析しようとすると、予期しないトークンが発生します。このコードを次のような最初のAjaxリクエスト以外で実行した場合:
$.ajax({
type: "POST",
url: "https://vq3rsgkd94.execute-api.us-east-1.amazonaws.com/deploy",
data: JSON.stringify({
"stage": "search",
"fields": ["first_name", "last_name", "graduation_year"],
"query": {
"first_name": "Bob"
}
}),
success: function(response) {
response = JSON.parse(response);
console.log(response);
}
});
私は問題はなく、コードは正常に実行されます。だから問題は、別の成功の応答の中で1つのAjax呼び出しを実行しているようですが、私は理由を知らないのですか?おそらく別のやり方をしているかもしれませんが、なぜこれがうまくいかないのか誰かが洞察力を持っているかどうかを見たいと思っていました。
デリゲートされたバインドはどうしてですか? - http://api.jquery.com/on/#direct-and-delegated-events – Pete
JSONの場合、jQueryはオブジェクトにします.... – epascarello