Как запустить php файлы на Phone Gap? - PullRequest
1 голос
/ 29 марта 2012

Мне нужно запустить несколько php-файлов с моим приложением, я загрузил их на свой сайт.Я прочитал статью здесь, я сделал то же самое для своих файлов, но мой php-файл работает с ajax, поэтому я не смог его запустить.Я перепробовал все возможные способы, но все еще ошибаюсь.

search.html создает ссылку через js и передает эту ссылку в get_data.php и показывает результаты на той же странице с тегом results.

search.html

function abc(target_url) {


    target_url = target_url||(generate_url()||"http://nces.ed.gov/collegenavigator/?");
    ajax = window.XMLHttpRequest?(new XMLHttpRequest()):(new ActiveXObject("Microsoft.XMLHttp"));
    ajax.onreadystatechange=function() {
      if(ajax.readyState===4) {
        html_data = ajax.responseText;
        //Do stuff with it like parsing, etc
        //alert(html_data);
        window.loading.style.visibility="hidden";
        document.getElementById("results").innerHTML = html_data ||"We're sorry";
      }
    };
    ajax.open("GET", "./get_data.php?url="+encodeURIComponent(target_url), true);
    ajax.send(null);
    window.loading.style.visibility="visible";


  }

Это get_data.php

<?php

include_once('simple_html_dom.php');
$target_url = $_REQUEST["url"];
$html = new simple_html_dom();
$html->load_file($target_url);
$gokhan='arik';
#$anchors = array_diff($html->find('table[class=resultsTable] a'), $html->find('td[class=addbutton] a'));
$h2 = $html->find('table[class=resultsTable] h2');
$ipeds = $html->find('p[class=ipeds hoverID]');

foreach($html->find('div[id=ctl00_cphCollegeNavBody_ucResultsMain_divMsg]') as $nOfResults){
            echo "<b>".strip_tags($nOfResults)."</b>";
        }
$loca = $html->find('table[class=itables] tbody tr td[class=pbe]');


for($i=0;$i<count($h2);$i++) {

   if(strip_tags($h2[$i])=="")    continue;
    #echo strip_tags(strtr($ipeds[$i], array("&nbsp;"=>" ")));
    $iped = explode(" ", strip_tags(strtr($ipeds[$i], array("&nbsp;"=>" "))));


    echo "<li data-theme='c' class='ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-btn-up-c'>
            <div class='ui-btn-inner ui-li'>
                <div class='ui-btn-text'>

                    <a href='search2.php?id=".$iped[2]."' class='ui-link-inherit'><h3 class='ui-li-heading'>".strip_tags($h2[$i])."</h3><p class='ui-li-desc'>".strip_tags(strtr($loca[$i], array('</h2>'=>'</h2> ')))."</p></a>
                </div>
                <span class='ui-icon ui-icon-arrow-r ui-icon-shadow'/>
            </div>
          </li> 
          ";


}

?>

1 Ответ

0 голосов
/ 03 апреля 2014

Использование ajax (метод, который вы пытаетесь) - это метод, который я бы предложил. Вы пытаетесь выполнить ajax-запрос без использования фреймворка, если вы не используете фреймворк где-либо еще на сайте, я думаю, что это хорошая идея - уменьшить время загрузки сайта. Но у вас есть некоторые забавные вещи, которые вы пытаетесь реализовать в ajax.

Если вы не собираетесь использовать какой-либо фреймворк, я бы предложил что-то вроде http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_callback

Я заметил, что в вашем комментарии вы упомянули

$ ( '# содержание'). Нагрузки ( 'http://www.example.com/test.php');

это относится к использованию jQuery для загрузки контента на вашу страницу. Глядя на приведенный выше пример кода, я не вижу, куда вы на самом деле импортировали jQuery. Сначала импортируйте jQuery , затем попробуйте использовать этот код. Также я бы предложил использовать $ .ajax ({}) вместо $ ("# content"). Load ("url");

$.ajax({
   url: "http://www.example.com/test.php",
   success: function(x){
      $("#results").html(x);
   }
});

Для получения дополнительной информации об использовании инфраструктуры jQuery для выполнения запроса ajax посетите страницу http://api.jquery.com/jQuery.ajax/

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