ajaxリクエストでは、画面名を取得するためにmember_idの配列を送信しています。ajaxリクエストで送信された配列を使用してPHP foreachが失敗します。関数に送信された正しいデータ
action retrieve_members
member_id 45FA3B10-4546-B9F7-D23
member_id 9627B65B-4D82-B2E8-4CE
retrieve_membersで:コールが送信されたとき、私はその後、retrieve_members機能
Ext.Ajax.request({
action: 'retrieve_members',
member_id: member_id,
success_fn: function(response) {
//do stuff
}
}); //end ajaxRequest
のFirebugに送信してい
var member_id = [];
Ext.each(selected_rows, function(item) {
member_id.push(item.data.member_id);
});
はこれを示しています。次のようにメンバーIDが保存されています機能:
function retrieve_members($request) {
$member_ids = substr($request->member_id,0,-1);
foreach($member_ids as $member_id) {
$current_member = Member::retrieveById($request->db, $member_id);
$member_list = $current_member->getGroupMembers();
$members = array();
foreach ($member_list as $member) {
$member_list[] = array(
'id' => $member->id,
'screen_name' => $member->screen_name,
);
}
}
return json_encode(array('status' => 'OK', 'member_list' => $member_list));
}
私はforeachのを削除し、次の行を交換する場合:
$member = Member::retrieveById($request->db, $request->$member_id);
を、私は戻って1人のメンバーのために正しいデータを取得します。私は "substr($ request-> member_id、0、-1);を知っています。間違っているかもしれませんが、正しいmember_idをforeachに渡すための試行を数多く行ってきました。私は何が間違っているのか分からないが、これが立っているので、member_listはいつもnullに戻るだろう。どんな助けでも感謝しています!
更新: print_r($ request-> member_id);次のエラーを返します。
identifier starts immediately after numeric literal
[Break On This Error]
(9627B65B-4D82-B2E8-4CE)
あなたは 'print_r($ request-> member_id);'プリントを教えてもらえますか? – AndrewR
エラーprint_r($ request-> member_id)で更新されました。 – mstef
私はあなたの 'strpos'行が間違っていると思いますが、あなたのjavascriptがいずれかを介してすべてを送信しているようには見えません。 – AndrewR