0

私は AJAX が初めてで、AJAX と jQuery を使用して基本的な呼び出しを学ぼうとしています。特定の国を選択し、その値をサーバーに送信して、選択された国を処理し、特定の出力を提供する単純な国のドロップリストがあります。現時点では、単純な出力を php ファイルにエコーするだけでかまいません。このコードにはある種の問題があります。誰かが私を助けてくれれば幸いです。ありがとう

 <html>
 <head>
 <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <script type="text/javascript">
 function load()
 {
      $.ajax({
      type:"GET",
      url: "test.php",
      data: { country: $("#country").val()}
      }).done(function(msg){
       $("#right #myDiv").html(msg);
      });
 }

 </script>
 </head>
 <body>

 <div id="main">
    <div id="left">
          Select Country: <select id="country" name="country">
            <option value="germany">Germany</option>
            <option value="england">England</option>
          </select>
          <input type="button" value="Run Query" onClick="load()"></input>
    </div> 

   <div id="right">
      <div id="myDiv"></div>  
   </div>  
 </div>

test.php

 <?php
      $name=$_GET['country'];
      if($name=="England")
      {
       echo "Works"; 
      }
      else
      {
      echo "doesnt Work"; 
      }
 ?>
 ?>
4

3 に答える 3

0

コードに 2 つのエラーがあります。

 data: { country: $("#country option:selected").val()}

$("#country").val() にする必要があります

if($name=="England")

「イギリス」であるべき

だからここに正しいコードがあります:

<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
function load()
{

  $.ajax({
  type:"GET",
  url: "test.php",
  data: {     country: $("#country").val()    }
  }).done(function(msg){
   $("#right #myDiv").html(msg);
  });

 }

 </script>
</head>
<body>

<div id="main">
<div id="left">
      Select Country: <select id="country" name="country">
        <option value="germany">Germany</option>
        <option value="england">England</option>
      </select>
      <input type="button" value="Run Query" onClick="load()"></input>
</div> 



そして test.php の場合:

 <?php
  $name=$_GET['country'];
  if($name=="england")
  {
   echo "Works"; 
  }
  else
  {
  echo "doesnt Work"; 
  }
 ?>

EDIT:私にとってはかなり簡単ですが、Webサーバー経由でページを呼び出すようにしてください。ブラウザの URL は次のようになります。

http://localhost/whatever/page.html

そうではありません(ハードドライブからの場合):

file://c:/whatever/page.html
于 2013-11-13T19:03:49.280 に答える
0

Englandphp ファイルから作業メッセージを取得する場合は、 に置き換えますengland。php では大文字と小文字が区別されるためです。

于 2013-11-13T19:04:39.543 に答える