왜 이렇게 오래 오래 사용할 수 없는지 알아 내려고 노력했습니다. 그것이 도움을 요청할 때라고 생각해보십시오.X-Editable/jQuery, Chrome을 사용하여 JSON을 읽을 수 없습니다.
X-Editable을 사용하는 자바 스크립트가 있습니다. 내 페이지가 내 서버에 AJAX 요청을 제출합니다. 내 서버는 db 키가 포함 된 JSON으로 응답합니다. 문제는 Chrome이 JSON을 인식하지 못하는 것입니다.
개발 도구는 응답을 보여줍니다 사양이 내가 성공을 가지고 생각하지 않는다
HTTP/1.1 200 OK
Date: Wed, 22 Oct 2014 20:04:12 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Type: text/javascript;charset=UTF-8
Content-Length: 30
Server: Jetty(7.6.13.v20130916)
{"success":true,"actionid":66}
을하지만, X-편집은을 참조한다. 나는 그것을 가지고 다니려고했는데 아무런 차이가 없다.
아래 함수는 AJAX 요청을 처리하고 성공/실패를 처리합니다. 단, 성공 루틴은 어떤 이유로 호출되지 않습니다. 이날 오전
$('#save-btn').click(function() {
$('.new-link-param').editable('submit', {
url: '/newlink',
ajaxOptions: {
type: 'post'
},
success: function (data, config) {
// console.log(JSON.stringify(data));
// console.log(data.actionid);
// console.log(typeof data);
// if(data && data.actionid){ // assumes response like {"actionid": 2}
// alert(true);
// $(this).editable('option', 'actionid', data.actionid);
// $(this).removeClass('editable-unsaved');
// var msg = "Link saved.";
// $('#msg').addClass('alert-success').remove.Class('hidden').removeClass('alert-error').html(msg).show();
// $(this).off('save.newuser');
// }
// else if(data && data.errors){
// config.error.call(this, data.errors);
//}
alert(true);
},
error: function(errors) {
alert(false);
var msg = "";
if(errors && errors.responseText){
msg = errors.responseText;
} else {
console.log("Error: " + errors.responseText);
}
}}).editable('destroy').removeClass().removeAttr('id').parent().parent().children("button").remove();
});
}
는 성공 기능
는라고하기했지만, 데이터가 존재하지만 같이 if 문 내부 false를 반환했다. 어떤 이유로, data.actionid는 정의되지 않았습니다. 왜 이것이 바뀌 었는지 모르겠습니다. 위에 붙여진 응답을 받으면 공격을 받아야한다고 생각합니다.
JS 코드가 성공적으로 등록되고 JSON이 반환 된 것을 인식하기 위해 내가해야 할 일이 궁금합니다.