2

簡単なコードを使用してjqueryで都市名を取得しようとしていますが、その結果、処理するようにコマンドを実行する完全なphpコードを常に取得しましたが、これらのコードはインターネットのソースとは異なります

ここにコードがあります、

jquery

$('input#name-submit').on('click', function() {
    var name = $('input#name').val();
    var namempty = '';
    if ($.trim(name) != '') {
        $.post('ajax/name.php', {
            nameSend: name
        }, function(data) {
            alert("Data Loaded: " + data);
        });
    } else {
        $('div#name-data').text(namempty);
    }
});​

PHP「name.php」

if (isset($_POST['nameSend'])=== true && empty($_POST['nameSend']) === false) {
    require '../db/connect.php';

    $query = mysql_query("SELECT city.cityId FROM city 
        WHERE city.cityName='"
        . mysql_real_escape_string(trim($_POST['nameSend']))."' "
    );

    echo (mysql_num_rows ($query)!== 0 ) 
        ? mysql_result($query,0,'location') : 'Name Not Found !!!';
}

処理を要求した name.php はまったく処理されず、name.php のコードと同じように結果を返すだけで、すでに WAMP / XAMPP などの別のサーバーを使用していますが、必要な結果が得られません。

4

2 に答える 2

0

phpコード全体が返された場合は、phpコードが実行されていない可能性があります。これはサーバー構成の問題である可能性があります。

一方、mysqlステートメントが何を返すかを確認してください。本当に都市名だけを返すのでしょうか?私には、あなたはそこにいくつかの都市IDを取得しているように見えます。

通常、phpスクリプトの戻り値をクリーンアップするには、jsonを使用することをお勧めします。必要なデータベースからデータを取得し、たとえばに保存します$object。次に、次の手順を実行します。

$object = json_encode($object)
echo $object;

これにより、データが適切にフォーマットされたオブジェクトに変換され、次のようにjQueryコードで使用できるようになります。

var json = $.parseJSON(data); //data being the callback parameter
alert(json.attr1);
alert(json.attr2); //all attributes that the object had in the php code are accessible through this

要約すると、クエリをデバッグし、phpサーバーが実際に機能することを確認し(ブラウザーでname.phpを直接開くとどうなりますか?)、jsonを介してクリーンなコールバックを使用します。

編集

クエリをデバッグするには、スクリプトの最初に次のように言います

echo "SELECT city.cityId FROM city WHERE city.cityName='".mysql_real_escape_string(trim($_POST['nameSend']))."'";
exit;

ブラウザでスクリプトを開きます。クエリが画面にエコーアウトされます。クエリをコピーしてデータベースパネル(おそらくphpmyadmin)に貼り付け、クエリを実行して、エラーメッセージが返されるかどうかを確認します。

于 2012-11-17T00:59:25.040 に答える
0

私が試した限り、サーバーソフトウェアのエラーが原因のようです、私は使用しています

  • XAMPP 1.7.7 lite USB --> 正常に動作
  • XAMPP 1.7.7 フル インストール --> 正常に動作
  • XAMPP 1.8.1 lite USB --> エラー
  • XAMPP 1.8.1 フル インストール --> エラー
  • WAMP --> エラー

疑わしいのは、最新のApacheサーバーがjqueryプラグインまたはphpと互換性がないことです

于 2012-11-17T14:56:46.233 に答える