2017-12-13 11 views
1

私はキャリアとクライアントの記録を持っています。顧客の画面で運送業者を選択する際には、運送業者の電子メールと電話に自動的に記入する必要があります。 PHPファイルはJSONを正しく返していますが、jqueryのエラーではなく成功していません。 FirefoxのFirebugとコンソールのHTMLタブをチェックしたところ、GET要求がリセットされました。 AJAXでajaxを使ったPHPの統合

<?php 
include "Config/config_sistema.php"; 
$res = mysql_query("SELECT * FROM transportadoras"); 
$menu_items = null; 
while($ln = mysql_fetch_object($res)){ 
    $menu_items[] = $ln; 
} 
json_encode($menu_items); 
?> 
<script> 
    $("body").on("change","#transportadoras",function(event){ 
     event.preventDefault(); 
     var trigger=$(this); 
     $.ajax ({ 
      type: "POST", 
      url: "buscaDadosTransportadora.php", 
      dataType: 'json', 
      success: function (data) { 
       $("#telefone_transp").val(data.telefone); 
       $("#email_transp").val(data.email); 
      }, 
      error: function (data) { 
       alert("Erro"); 
      }, 
     }); 
    }); 
</script> 

リターンは

[{"ID":"5","Nome":"Vinicius","email":"[email protected]","telefone":"32680018"},{"ID":"6","Nome":"teste","email":"[email protected]","telefone":"12345567"}] 
+1

1つの提案を助けることができることを望みますparseJSON()を使用します。 http://api.jquery.com/jquery.parsejson/ - これは、AJAX呼び出しの成功/失敗関数の内部で行われます。 – Adam

+0

@AdamAコードとレスポンスを見てください。 – Vahan

+0

select *は運用システムでは使用しないでください。 – swa66

答えて

0

あなたの応答は配列です。

[{"ID":"5","Nome":"Vinicius","email":"[email protected]","telefone":"32680018"},....] 

データをループスルーする必要があります。

success: function (data) { 
    $.each(data,function(user){ /* code ...*/});   
} 

現在の行が必要な場合は、mysqlから1行を選択します。

+0

$( "#telefone_transp")を置くと。 val(データ。電話); $( "#email_transp")。 val(データ。電子メール); $の後。それぞれはうまくいくはずです 明らかにそれはちょうど問題ですか? –

0

はそれがjQueryのでJSON文字列を扱うためのu

php.php

$inp=$_POST["data"]; 
$txt[0]=array("ID"=>"5","Nome"=>"Vinicius","email"=>"[email protected]","telefone"=>"32680018"); 
$txt[1]=array("ID"=>"6","Nome"=>"teste","email"=>"[email protected]","telefone"=>"12345567"); 

for($c=0;$c<sizeof($txt);$c++) 
{ 
    if($txt[$c]["ID"]==$inp) 
    {echo json_encode($txt[$c]);} 
} 

のindex.php

ID:<input id="txt" name="txt" type="text" /> 
<br><br> 

Name:<input id="name" name="txt0" type="text" disabled="disabled"/><br> 
Email:<input id="email" name="txt0" type="text" disabled="disabled"/><br> 
Tel:<input id="tel" name="txt0" type="text" disabled="disabled"/><br> 

JS

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script> 
$("document").ready(function() 
{ 
    $("#txt").keyup(function() 
    { 
     $.ajax(
     { 
      type:"POST", 
      dataType:"json", 
      url:"php.php", 
      data:{data : $("#txt").val()}, 

      success: function(data) 
      { 
       $("#name").val(data.Nome); 
       $("#email").val(data.email); 
       $("#tel").val(data.telefone); 
      }, 
      error: function() 
      { 
       alert("Error!"); 
      } 
     }); 


    }); 

}); 

</script> 
+0

keyin id == id(配列内)の場合のみ、返されて表示されます –

関連する問題