Хорошо, я не уверен на 100%, что я здесь делаю неправильно. Может быть, мне просто нужна вторая пара глаз, чтобы раскрыть ошибку моих путей. Я отправляю запрос JSONP с помощью jQuery из одного домена (https://customerhub.net)) в скрипт PHP на моем домене (https://dankennedy.com)) и получаю ответ от этого скрипта. Я знаю, что запрос работает, потому что для В целях тестирования я печатаю все свои входные данные в файл перед отправкой ответа, и данные проходят. Однако по какой-либо причине функция обратного вызова не работает.
Вот код jQuery:
jQuery('#form1').validationEngine({
failure: false,
success: function(){
var url = 'https://dankennedy.com/test2.php?jsoncallback=?';
jQuery.getJSON(url, jQuery('#form1').serialize(), function(){
alert('I ran... for once');
});
return false;
}
});
Вот код PHP:
$callback = $_REQUEST['jsoncallback'];
$myFile = "info.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$data = '';
foreach( $_REQUEST as $key => $value )
$data .= ", `".$key."` = \"".$value."\"";
$stringData = 'Array: ' . substr( $data, 1 );
fwrite($fh, $stringData);
$response = array( 'msg' => 'SUCCESS' );
$fullResponse = $callback.'('.json_encode($response).')';
fwrite($fh, "\n".$fullResponse );
fclose($fh);
header( 'Content-type: text/plain' );
echo $fullResponse;
Со временем я сделаю больше с кодом, и мой PHP-скрипт получит доступ к моей базе данных, отправит обратно некоторые значимые данные, и моя функция jQuery выполнит некоторую обработку этих данных. Сейчас я просто распечатываю материал и начинаю с малого, чтобы убедиться, что обмен информацией через JSONP работает.
Все выглядит хорошо. Я тоже следую за кодом в Firebug и вижу, как код обрабатывается. Запрос выполняется, но оператор оповещения внутри не выполняется.
Вот что распечатывает файл, в который записывается:
Array 5: `jsoncallback` = "jsonp1277479829087", `id` = "", `type` = "blog", `task` = "add", `title` = "Brace Ford", `date` = "June 25, 2010 11:30 AM", `author` = "", `teaser` = "Teaser", `body` = "Body", `download` = "", `comments` = "", `__utma` = "119149980.718135870.1277328038.1277328038.1277386321.2", `__utmz` = "119149980.1277328038.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)", `SESS6c0bc6ae4aee7e8c564bc45425742fc0` = "tpc7lmtv551kg1vpuvo2c9efi1", `__utmv` = "119149980.authenticated user,s1a", `mifge` = "DKFrontPage", `__utmc` = "119149980"
jsonp1277479829087({"msg":"SUCCESS"})
Есть идеи, какая у меня серьезная ошибка?