2017-03-01 3 views
0

やあみんな、私はそれだけで私はあなたに私のコードを示しname.letされ、コントローラ上で示した値tag.butアンカーを使用してコントローラにビューからIDを送信しようとしています今、私は何ajaxの成功関数でcodeigniterのアンカータグのビューからコントローラへのIDの送信方法?

<script type="text/javascript"> 
jQuery('#search_form').submit(function(e){  
e.preventDefault(); 
var formData = new FormData(this); 
jQuery.ajax({ 
type:'POST', 
url:'<?php echo base_url("user/search_friends"); ?>',  
data:formData, 
dataType:'json', 
cache: false, 
contentType: false, 
processData: false, 
success:function(data) 
{  
console.log(data); 
var ParsedObject = JSON.stringify(data);    
var json = $.parseJSON(ParsedObject);  
$id=json.id; 
$.each(json, function (key, data) {  
var uname=data.uname; 
var id=data.id; 
alert(id);  
$('#search_result').append('<li class="list_style"><a href="<?php echo base_url('user/profile_friend/data.id') ?>">'+uname+'</a></li>');  
}); 
} 
}); 
}); 
</script> 

ユーザー名を検索して結果を表示すると、結果はアンカータグに表示されます。データにはリンクがあります。ユーザーIDを使用してユーザーをプロファイルページに送信しますが、IDはコントローラーに渡されません私が間違っていることを教えてください。

$('#search_result').append('<li class="list_style"><a href="<?php echo base_url('user/profile_friend/') ?>' + data.id + '">'+uname+'</a></li>'); 
+1

既にレンダリングされたHTML DOMにjs varを渡して、完成したPHPスクリプトにすることはできません。あなたは別の方法(javascriptにPHP varを渡す)の周りを行うことができます。とにかく、おそらく ''+uname+''のようなものが必要でしょうか?また、 'base_url'が最後に'/'を返すかどうか分からないので、' '+ uname +'の前に含めることができます ' –

+0

私のURLが 'user/profile_friend4' @AdamKは存在しません。 –

+0

yea編集するために追加しました。おそらく ''+ uname +'の前にスラッシュを追加したいのですが' –

答えて

0

0

変更この

$('#search_result').append('<li class="list_style"><a href="<?php echo base_url('user/profile_friend/data.id') ?>">'+uname+'</a></li>'); 

エラーが、それはこのようなデータを送信したい他の誰かを助けることを願って発見。

だけでコントローラメソッドに値を送信すること

$('#search_result').append('<li class="list_style"><a href="<?php echo base_url('user/profile_friend/') ?>' +'/' +data.id + '">'+uname+'</a></li>'); 

以下のようにスラッシュを追加します。

+0

@AdamKのようなエラーと同じエラーです。 –

+0

URLはこのように表示されています "'user/profile_friend4'" " –

関連する問題