document.getElementById('myform').addEventListener('submit', function (e) {
// voorkomt de standaard actie van de submit
e.preventDefault();
$(function() {
var artiest = document.getElementById("artiest");
var rijen = document.getElementById("rij");
var kolommen = document.getElementById("kolom");
var CGIurl = 'http://localhost:8000/cgi-bin/schuifpuzzel.py?artiest=' + artiest.value +
"&rijen=" + rijen.value + "&kolommen=" + kolommen.value + "&callback=jsonp";
$.ajax({
type: 'GET',
url: CGIurl,
dataType: "jsonp",
success: function(data){
console.log(data)
}
});
});
});
Я пытаюсь запустить этот AJAX, чтобы выполнить мой CGI скрипт, когда кнопка отправки нажата. Поэтому я использовал eventListener
и preventDefault
.AJAX обратных вызовов никогда не называла, не Сукчесом ни ошибкой
ГЭТ, кажется, работает хорошо, потому что эти результаты я получаю при тестировании в браузере
JSON в заголовках ответа является один я пытаюсь получить. Но по какой-то причине не удалось добиться успеха или ошибки в моем AJAX, поэтому у меня нет доступа к JSON.
Я использую jsonp, потому что я читал, что это был способ легко обойти корс. И я не понимаю, почему данные отправляются в заголовки ответов. Я понятия не имею, как это исправить. – Joey
@Joey, если вам нужно работать над междоменными границами, JSONP - это, вероятно, то, что вы должны использовать. Причина, по которой данные являются частью заголовков, состоит в том, что между заголовками и данными тела должна быть пустая строка. Как это сделать, зависит от вашей реализации сервера, но это может быть так же просто, как префикс строки JS с новой строкой. – robertklep
Хорошо, поэтому одна проблема исправлена, теперь ответ показывает json. Я получаю «unsached SyntaxError: Неожиданный токен»: «Теперь. И все же ошибки/ошибки никогда не вызываются. Возможно, из-за синтаксической ошибки? – Joey