Когда я пытаюсь выполнить вызов ajax, я получил ошибку на хроме ниже.
XMLHttpRequest не может загрузить javascript:;. Запросы на кросс-начало поддерживаются только для схем протокола: http, data, chrome, chrome-extension, https, chrome-extension-resource.
Вот код:
$.ajax({ type: "POST", data: {pvalue : pid}, cache: false, url: "xxx.in/yy/ajax.php", success: function(data) { $modal.find('.edit-content').html(data); }
Все исследования этого сообщения об ошибке указывают на то, что веб-страница хоста не загружается через URL http: // и, вероятно, является файлом: URL. Браузер по умолчанию не разрешает запросы на кросс-поиск из файла: URL.
Вам необходимо загрузить веб-страницу через веб-сервер, а не через файловую систему, если вы хотите использовать запросы ajax.
Ниже приведены некоторые другие вопросы и ответы об этой конкретной ошибке, указывающие на неправильный тип URL-адреса, используемый для загрузки страницы.
«Запросы на кросс-начало поддерживаются только для HTTP». ошибка при загрузке локального файла
React.js: пример в учебнике не работает
Запросы на кросс-начало поддерживаются только для HTTP, но это не междоменный
https://groups.google.com/forum/#!topic/tincr-for-chrome-devtools/nA9k2qh7F-g
Если вы получаете доступ к данным из других доменов, вам необходимо переопределить Same-origin Policy
Chrome с Same-origin Policy
. Для этого вам нужно указать dataType: 'jsonp'
$.ajax({ type: "POST", dataType: 'jsonp', data: {pvalue : pid}, cache: false, url: "xxx.in/yy/ajax.php", success: function(data) { $modal.find('.edit-content').html(data); } });
Если файл ajax.php
на вашем сервере (тот, который вы сейчас работаете), вы можете просто указать имя файла в разделе url
(как ajax.php
ниже).
$.ajax({ type: "POST", data: {pvalue : pid}, cache: false, url: "ajax.php", success: function(data) { $modal.find('.edit-content').html(data); } });