結果を解析するjqueryポストを設定しました。私は守っているJSON.parse: unexpected character at line 1 column 2 of the JSON data app.js:31:24
SyntaxError:JSON.parse:JSONデータの第1行第2列の予期しない文字app.js:31:24
これがなぜ機能しないのか分かりません。私は現在/api/word
のエンドポイントが結果を返しています(ポストに存在する場合)。返されない場合は、同じエンドポイントにポーリングされたGET
で結果が利用可能になるまでfalseを返します。
は、ここに私のapp.js
(function() {
'use strict';
var configOptions = {
endpoint : '/api/word'
};
jQuery(document).ready(run);
function run() {
jQuery('form').on('submit', submitForm);
}
function submitForm(e) {
e.preventDefault();
var data = jQuery(e.currentTarget).serialize();
jQuery('button').prop('disabled', true);
jQuery.ajax({
url: configOptions.endpoint,
method: 'POST',
data: data,
success: readQueueResults,
error: showError
});
function readQueueResults(response) {
console.log(response);
var data = jQuery.parseJSON(response);
var interval = setInterval(function() {
jQuery.ajax({
url: configOptions.endpoint,
method: 'GET',
data: 'id=' + data.id,
success: showResults
});
}, 500);
function showResults(response) {
if (response) {
clearInterval(interval);
jQuery('button').prop('disabled', false);
var data = jQuery.parseJSON(response);
renderMessage('alert-success', 'Your word is <b>' + data.percent + '%</b> pronounceable');
}
}
}
function showError(error) {
console.warn(error.status, error.statusText);
jQuery('button').prop('disabled', false);
renderMessage('alert-danger', '<b>' + error.status + '</b> - ' + error.statusText);
}
}
function renderMessage(classes, message) {
jQuery('.alert').remove();
var div = jQuery('<div>', {class: 'alert clear text-center row ' + classes});
div.append(message);
div.appendTo('.col-md-6');
}
}());
コンソールログはどちらか
18828f7e-5554-43ee-8d3c-b00abe1409ca
または
Object {pronounceability: "0.0"}
を修正するために
jQuery.parseJSON(response)
を取らなければならなかった、すでに解析されたオブジェクトを送り返すFlask
を使用していますので、コンソールログから取得しているjson応答を投稿してください – KAD@KADは応答を追加しました – nadermx