Я пытаюсь использовать динамический тег сценария для междоменного ajax, поскольку я не могу использовать PHP на веб-сайте, где это необходимо (мы используем CMS, поэтому мы можем использовать HTML / Javascript, но нетPHP).
Дело в том, что оба скрипта работают хорошо (javascript и php) сами по себе, это означает, что тег script хорошо добавляется, и скрипты PHP, когда запускаются сами по себе, работают по мере необходимости.
Но похоже, что запрос GET не обрабатывается при добавлении тега сценария (с использованием .appendChild).
Есть ли способ заставить его работать?
Вотупрощенный код:
PHP:
$email = $_GET['email'];
$source = $_GET['source'];
echo 'callback({"value": "true"});';
// sending the email through php
Javascript:
function dlPj() {
// Prompt the user for his email
var email = prompt('Enter your email', 'your email');
// If the script tag already exists, delete it
if (document.getElementById('script-pj') != null) {
var script_pj = document.getElementById('script-pj');
document.getElementsByTagName("head")[0].removeChild(script_pj);
}
// Create the script tag to call the PHP script
var s = document.createElement('script');
s.type = 'txt/javascript';
s.id = 'script-pj';
s.src = 'http://www.something.com/bel/pj.php?';
s.src += 'email=' + email;
s.src += '&source=' + document.location.href + '?';
document.getElementsByTagName("head")[0].appendChild(s);
}
function callback(value) {
if (value == null) {
alert('error');
}
else {
if (value.value == "true") {
alert('working');
}
else {
alert('not working');
}
}
}
Помощь с благодарностью.
Редактировать: проблема решена. Проблема заключалась в следующем: я добавил событие onclick для тега A, чтобы я мог получить некоторую информацию о пользователе до того, как он загрузит прикрепленный файл.Поэтому я оставил его при возврате true ;, чтобы он мог загрузить файл после заполнения формы.Изменение события onclick на «dlPj (); return false;»решает проблему.