2016-11-16 11 views
-2

PHP:lockState.phpクエリから取り扱いAjaxの成功応答

require '../dbconn.php'; 
$query = mysql_query("select id, lockState,name from register_db where Id=1"); 
$items = array(); 
while ($row = mysql_fetch_object($query)) { 
    array_push($items, $row); 
} 
echo json_encode($items); 

結果

[{"id":"1","lockState":"No","name":"Local Application"}] 

index.phpを私が間違ってやっているところ私は完全に失われてい

$.ajax({ 
      type: "POST", 
      url: "feed/lockState.php", 
      data: ({id: 1}), 
      cache: false, 
      dataType:"json", 
      success: function (response) { 
       alert(JSON.stringify(response)); // [{"id":"1","lockState":"No","name":"Local Application"}] 
       alert(response.name); //***undefined*** 
        if(response.name=='Local Application'){ 
        callMyFunction(response.name); 
        } 
      }, 
      error: function() { 
       alert("Oops..!! Something wrong!); 

      } 
     }); 

'Success'レスポンスを使用しています。でも、私はJSON.parse(response)を試して、キーにアクセスしようとしました:valueでも、同じundefinedです。助けてください。

+1

:あなたの例では

はこれを試してみてください。 – epascarello

+1

'response'は配列です – adeneo

+0

このような状況では、エラーコンソールで変数の良い表現を得るために' console.log(response) 'を実行できます。 –

答えて

1

response[0].nameがお手伝いします。

+0

ありがとうございました。 –

1

あなたのPHPを見てください。配列を作成する$items = array();を参照してください。

取得しているデータを見てください。その周辺の[]を参照してください。

オブジェクトを含むの配列があります。その配列から最初の値を読み取る必要があります。

var object = response[0]; 
var name = object.name; 
0

応答であった場合、あなたが仕事と試みた方法:

{"id":"1","lockState":"No","name":"Local Application"} 

しかし、あなたの応答は次のとおりです。

*[*{"id":"1","lockState":"No","name":"Local Application"}*]* 

ブラケットは意味が応答が配列であるが、[]、含みますオブジェクト、{};

他にも言及したように、配列から値を取り出す方法は、例えばarray_variable [0]を使って最初のものを選択することで行うことができます。それは、配列ではなくオブジェクトなので

alert(response[0].name); //***undefined*** 
関連する問題