2016-09-21 10 views
-1

私はいくつかのAJAX呼び出しを作成しましたが、何とか次の単純なAJAXテストは機能しません。私はフォームの入力で設定された2つの変数を持っています(これは動作します)。これらの変数をinput_1とinput_2としましょう。これらの入力をPHPファイルに渡したい、PHPファイルが処理して何かを返す。最後に、応答はJS変数に設定されます。今のところ、AJAX呼び出しが成功しているかどうかを確認するために、レスポンスをDOM要素に配置します。残念ながらそうではありません。AJAX応答が処理されません

マイコード:

<html> 
<head> 
</head> 
<body> 

<script type="text/javascript"> 

var input_1 = 'abc'; // this is input of the form 
var input_2 = 'def'; // this in input of the form 

function generate_content(x,y) 
{ 

$.ajax({ 
      url: "create_response.php", 
      type:"get", 
      data:{firstvar:x, secondvar:y} 
     }).success(function(response){ 
      document.getElementById("temp-id").innerHTML=response; 
     });   

} 

generate_content(input_1, input_2); 

</script> 

<p id="temp-id"></p> 

</body> 

</html> 

とPHPファイルcreate_response.php:

<?php 

$var1=$_GET['firstvar']; 
$var2=$_GET['secondvar']; 

echo $var1; 

?> 

だから、私はINPUT_1が(= 'ABC')と呼ばれるのpタグ内に表示されることを期待 "

  • INPUT_1がようfirstvar create_response.phpに送信されるので、一時-ID」
  • create_response.phpはfirstvar取得し、$ VAR1
  • $ VAR1として設定成功機能のAJAX
  • 応答をpタグ 'TEMP-ID' に表示されているの成功関数である、エコーされ

しかし、そうではありません。

ご意見/ご提案はありますか?

+0

何を表示していますか?何も解析されないか構文エラー –

+1

ファイルの内容全体を表示したHTML/JSコードですか? jqueryを使用しようとしているようですが、jqueryは含まれていません。 –

+0

あなたのコードは[JS code style standards。](http://www.w3schools.com/js/js_conventions.asp)に従いません。 これらのスタイルに従うことを習慣に入れてください。 – Shadetheartist

答えて

1

は、私の知る限り、おそらくあなたは、あなたが設定のsuccessプロパティとしてあなたの機能を追加することができます

function generate_content(x,y) { 
    $.ajax({ 
     url: "create_response.php", 
     type:"get", 
     data:{firstvar:x, secondvar:y} 
    }).then(function(response){ 
     document.getElementById("temp-id").innerHTML=response; 
    });   
} 
0

.thenまたは.doneではなく、同じようにそれを使用するのでは、AJAX呼び出し内のオブジェクト試してみてください、$.deferredにはsuccess方法はありません現在の方法です。

$.ajax({ 
    url: "create_response.php", 
    type:"get", 
    data:{firstvar:x, secondvar:y}, 
    success: function(response){ 
     document.getElementById("temp-id").innerHTML=response; 
    } 
});