1

Phonegap アプリケーションで AJAX リクエストを作成しています。コードは次のとおりです。

function remoteCall()
{
  alert("Remote call func called");

  try
  {
    $.ajax({
       url: 'http://192.168.1.200/testing/testConn.php',
       contentType: "application/json; charset=utf-8",
       dataType:"json",
       success: function(data)
       {
          if(data == '')
              alert("No data received from server");
          else
          alert("Data received from server = "+data.postcode);
       },
       error: function(jqXHR, textStatus, errorThrown)
       {
           console.log(textStatus);
           alert('FAIL !!!');
       },

     });
  }//end of try().
  catch(e)
  {
        alert("error = "+e.message);
  }

}//END OF FUNC remoteCall.

<head>jQuery の競合を避けるために、次の行も追加しました。

<script>jQuery.noConflict();</script>

私のサーバー側のファイルは次のとおりです。

<?php

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: X-Requested-With");

$retArray = array();
$retArray['postcode']= 'm14';
$retArray['brand']= '1';
$retArray['product_type']= '1';

$jsondata =  json_encode($retArray);

return $jsondata;
?>

最初の警告メッセージが表示されますが、後で「$ is not undefined」というエラーが表示されます。これを修正する方法がわかりません。誰でも助けることができますか?

「$ is undefined」というエラーを克服できましたが、今ではエラーが発生せず、出力も得られません...

4

3 に答える 3

2

コードを含む js ファイルを追加する前に、必ず jquery ファイルを追加してください。

于 2013-04-24T12:05:12.097 に答える
1

<script>jQuery.noConflict();</script>jQueryは、jQuery オブジェクトをではなくとして参照する必要があることを意味します$。参照を から に変更する$jQuery、機能するはずです。

http://api.jquery.com/jQuery.noConflict/

于 2013-04-24T12:05:11.520 に答える
0

私は私の問題を解決しました... :)

次の行で $ と jQuery の問題が解決しました

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.7.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

(アリと cfs に感謝 :) )

そして、サーバーファイルで return を echo に変更しました

<?php

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: X-Requested-With");

$retArray = array();
$retArray["postcode"]= "m14";
$retArray["brand"]= "1";
$retArray["product_type"]= "1";

$jsondata =  json_encode($retArray);
echo $jsondata;

?>

これで、サーバーの詳細を取得できます。

返信してくれてありがとう.... :)

于 2013-04-25T11:48:04.527 に答える