У меня проблема с настройкой обратного вызова на стороне сервера с помощью PHP - PullRequest
0 голосов
/ 18 июля 2011

Я новичок в AJAX и PHP, я создал файл HTML, в который отправляю информацию в файл PHP.

Если я использую форму, то проблем нет, ответ php в порядке. Когда я попытался использовать AJAX вместо формы ... я застрял с проблемой вызовов CrossDomain!

Поэтому я решил использовать функцию обратного вызова JSON и динамическое решение для тега сценария. Я использовал его несколько раз раньше, но только на стороне клиента. Теперь мне нужно настроить серверную часть, чтобы мой PHP-файл мог ответить обратно на функцию обратного вызова. Вот код для объяснения:

HTML / Javascript файл:

function setUrl(numeroAPI)
{
    var url = "http://localhost/Generatore/generatore_codice.php?numeroAPI=" + numeroAPI;       
    for(var i=1;i<=numeroAPI;i++)
    {
        url = url + "&tipoChiamataAPI" + i + "=" + document.getElementById("tipoChiamataAPI" + i).value;
    }
    url = url + "&callback=callback";
    creareScript(url);
}

function creareScript(url)
{
    var head= document.getElementsByTagName('head')[0];
    var script= document.createElement('script');
    script.type= 'text/javascript';
    script.src= url;
    head.appendChild(script);
}

function callback(obj)
{
    alert("lala");
}

Именно этот код работал много времени в других программах .... но теперь предупреждение не работает, я прочитал, что мой PHP-файл должен выглядеть примерно так:

$json = json_encode($data);

echo $_GET['callback'] . "(".$json.");";

Так вот что я сделал ... и, конечно, я что-то упускаю ... есть предложения?

1 Ответ

0 голосов
/ 18 июля 2011

вы даже не вызываете функцию callback (), поэтому она не может работать.

Кроме того, ваш код опасен.

попробуйте добавить

callback(); 

после

head.appendChild(script);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...