2016-12-11 21 views
0

試してみます。しかし応答は、 "[オブジェクトのオブジェクト]が" ajaxを使ってdiv idに値を表示する方法

success: function(data) {  
    var response = jQuery.parseJSON(data);  
    console.log(response); 
    if (response.confirmation == 'success') { 
    $('.std_info').html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>'); 
    } 
} 

std_info

が私のdivのidのjQuery 3.0のよう

+0

、 'にconsole.log(JSON.stringify(レスポンス))'それはパラメータだ見ると、それはあなたが期待しているものだことを確認するためにやってみてください。 –

+0

または 'console.log(data);' –

答えて

0

"std_infoは、" あなたは同上ない.

使用この$('#std_info')の代わり$('.std_info')

私のために#を使用する必要が

私のdivのIDですそれを試してみてください。しかし、応答は

はまた、別の問題が、このラインここ

$('.std_info').html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>');

である「[対象オブジェクト]」である部分$('#name').val(response.std_name) ID name戻りますと入力要素に値を設定しますJqueryオブジェクトしたがって、[オブジェクトオブジェクト]としてdivコンテンツが表示されます

必要なのは、オブジェクトから値を割り当てるだけです。これはあなたの最終的なコード

$('#std_info').html('<p>Student Name:'+ response.std_name +'</p>');

0

されている、$ .parseJSONが推奨されていません。 JSON文字列を解析するには、代わりにネイティブJSON.parseメソッドを使用します。

http://api.jquery.com/jquery.parsejson/

ので、多分std_infoはidがある場合もvar response = JSON.parse(data);

はあなたが$('#std_info')

ああを使用する必要がありますしてみてください - しかし、あなたの最大の問題は、これがある:.html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>')あなたが実際に置くしようとしていますdivの内容としてのオブジェクト

try .html('<p>Student Name: <input id="name" val="'+response.std_name+'" /></p>')(もし私がyou'rこの一緒に行くE)

+1

はい、廃止されましたが、それでもjQueryの最新バージョンとして機能します。 –

+0

true - それは理由で非難され、もはやサポートされなくなりました - なぜ新しいコードでそれを使用するのですか? –

+0

動作しません。仲間... 他の機能はありますか? – Rohit

-1

むしろJSON.parse.Tryよりeval機能..

success: function(data) { 
var response = eval(data); 
console.log(response); 
var name=response.std_name; 
var success=response.confirmation; 
if(success == 'success') { 
$('#std_info').html('<p>Student Name:'+$('#name').val(name)+'</p>'); 
+2

* "JSON.parseではなくeval関数を使用する" *、 'JSON.parse'は理由のためにそこにあります。特に必要ないときは、ここで 'eval'を使うのは悪い考えです。 –

+0

私はいつもevalを使ってajaxがjson配列を返すようにしています。 –

+0

私はこれをやってみることをお勧めしません。それは遅くなり、コードをセキュリティ上のリスクにさらします。 ['JSON.parse()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)はJSONを解析するためのものです。その代わりにJSONを使用してください。 –

0

あなたはjqXHR.done()とjqXHRを使用する必要がありますjQueryの3.0の使用です。 successerrorのfail()nstead。

jQuery 3.0以降はparseJSON()の代わりにJSON.parse()を使用する必要があります。だからあなたの呼び出しは次のようになります。それはオブジェクトなので

$.ajax({ 
    url: 'your/url', 
    method: 'YOUR_METHOD', 
    data: your_data_object 
}).done(function(response){ 
    response = JSON.parse(response); 
    if (response.confirmation == 'success') { 
     $('#std_info').html('<p>Student Name:'+$('#name').val(response.std_name)+'</p>'); 
    } 
}).fail(function(error){ 
    console.log(error); 
}); 
関連する問題