ajax 応答を取得するために POST データが必要なページがあります。POST データに依存する情報は問題なく表示されます。ただし、その後、ユーザーが表示されたデータの一部を更新したい場合は、別の ajax 呼び出しを実行してその場で更新したいと考えています。次に、最初のスクリプトが、ユーザーが情報の更新を要求したページから POST データを取得しないため、問題が発生します。
今、私はこれを持っていますが、明らかに問題を引き起こしています
$(document).ready(function(){
var uid = <?php echo $_POST['user_id']; ?>;
$.ajax({
type: "POST",
data : {user_id:uid},
cache: false,
url:"modules/user/showuserdata.php",
success : function (data) {
$("#response").html(data);
}
})
});
$('#commit-changes').click(function(){
$('#commit-user').submit();
$.ajax({
type: "POST",
data: $("#commit-user").serialize(),
cache: false,
url:"modules/user/updateuser.php",
success : function(data){
$("#response-update").html(data);
}
})
});
クロムが出力するjavascriptエラーは
$(document).ready(function(){
var uid = <br />
Uncaught SyntaxError: Unexpected token <
<b>Notice</b>: Undefined index: user_id in <b>C:\xampp\htdocs\inacesso\admin\edituser.php</b> on line <b>73</b><br />
;
読みやすくするために html を省略しましたが、必要に応じてお知らせください。
これを回避する方法についてのヒントはありますか? 私は SESSION 変数を使いたくありませんでした...
これについて私ができるすべての助けに感謝します。
編集
showuserdata.php の HTML レスポンス
$user = 新しいユーザー();
$id = $_POST['user_id'];
$rcs_user = $user->getUserByID($id);
$rcs_roles = $user->getRoles();
$role ='';
foreach($rcs_roles as $roles)
{
if($roles->role_number == $rcs_user->permissao)
$role .= '<option value="'.$roles->role_number.'" selected="selected">'.$roles->role.'</option>';
else
$role.= '<option value="'.$roles->role_number.'">'.$roles->role.'</option>';
}
if($rcs_user->activo == 0)
{
$activo = '<input type="checkbox" name="activo" class="on_off_checkbox" value="1" />';
}
else
{
$activo = '<input type="checkbox" name="activo" class="on_off_checkbox" checked="checked" value="1" />';
}
$response = '';
$response.='<form id="validation commit-user" action="" method="post">
<fieldset >
<input type="hidden" name="user_id" value="'.$_POST['user_id'].'"/>
<legend>Actualizar Dados Utilizador</legend>
<div class="section ">
<label>Nome<small>Insira o seu nome</small></label>
<div>
<input type="text" class="validate[required,custom[onlyLetterSp]] large" name="nome" id="f_required" value="'.utf8_encode($rcs_user->nome).'">
</div>
</div>';
$response.='<div class="section ">
<label> Email<small>Insira o seu email</small></label>
<div>
<input type="text" class="validate[required,custom[email]] large" name="email" id="e_required" value="'. utf8_encode($rcs_user->email).'">
</div>
</div>';
$response.= '<div class="section">
<label>Permissões<small>Seleccione o tipo de utilizador </small></label>
<div>
<select class="medium" name="role">
'.$role.'
</select>
</div>
</div>
<div class="section">
<label>Activo<small>Activar utilizador</small></label>
<div>
'.$activo.'
<span class="f_help">ON / OFF </span>
</div>
</div>
<div class="section last">
<div>
<a href="" id="commit-changes" class="uibutton submit_form" name="submit">Submeter</a><a class="uibutton special" onClick="ResetForm()" title="Limpar Formulário" >Limpar Formulário</a>
</div>
</div>
</fieldset></form>';
echo $response;