Я пытаюсь создать простую программу для чтения RSS с Phonegap и jQuery.Я слежу за этим уроком: http://visualrinse.com/2008/09/24/how-to-build-a-simple-rss-reader-with-jquery/.
Мне удалось заставить это работать нормально, когда я пробую код в своем браузере. php-файл выбирает фид и выходные данныеэто так, как я ожидаю. Но когда я запускаю тот же файл из моего скомпилированного приложения Phonegap, ajax-запрос просто возвращает содержимое php-файла (код php, а не выполненный результат).
Я часами гуглил это и пробовал многочисленные уроки и настройки.Я также не нашел решений на официальных форумах PhoneGap.Что я делаю неправильно?Кажется, проблема в том, что PHP не отвечает на запрос.Я пытался переместить php-файл в другой домен, но результат тот же, он работает в моем браузере, но не в скомпилированном приложении.
Вот код jQuery, который инициирует ajax-код:
function get_rss_feed() {
//clear the content in the div for the next feed.
$("#feed_content").empty().html('<img class="loader" src="js/images/ajax-loader.gif" alt=""/>');
$.ajax({
url: 'http://192.168.1.7/rssApp/www/rss-proxy.php?url=http://www.nytimes.com/services/xml/rss/nyt/GlobalHome.xml',
success: function parseRSS(d) {
//find each 'item' in the file and parse it
$(d).find('item').each(function() {
//name the current found item this for this particular loop run
var $item = $(this);
// grab the post title
var title = $item.find('title').text();
// grab the post's URL
var link = $item.find('link').text();
// next, the description
var description = $item.find('description').text();
//don't forget the pubdate
var pubDate = $item.find('pubDate').text();
// now create a var 'html' to store the markup we're using to output the feed to the browser window
var html = "<div class=\"entry\"><h2 class=\"postTitle\">" + title + "<\/h2>";
html += "<em class=\"date\">" + pubDate + "</em>";
html += "<p class=\"description\">" + description + "</p>";
html += "<a href=\"" + link + "\" target=\"_blank\">Read More >><\/a><\/div>";
//put that feed content on the screen!
$('#feed_content').append($(html));
});
$('#feed_content img.loader').fadeOut();
}
});
};
Вот rss-proxy.php , который загружает XML из URL и выводит его:
<?php
// PHP Proxy
// Loads a XML from any location. Used with Flash/Flex apps to bypass security restrictions
// Author: Paulo Fierro
// January 29, 2006
// usage: proxy.php?url=http://mysite.com/myxml.xml
$session = curl_init($_GET['url']); // Open the Curl session
curl_setopt($session, CURLOPT_HEADER, false); // Don't return HTTP headers
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // Do return the contents of the call
$xml = curl_exec($session); // Make the call
header("Content-Type: text/xml"); // Set the content type appropriately
echo $xml; // Spit out the xml
curl_close($session); // And close the session
?>