あなたがしていることは間違っていないと思いますが、問題はあなたのJavaScriptがあなたに全体像を教えてくれないということです。PHPからjsを生成し、それをAjaxを介してロードしているため、そのコードを分析およびデバッグしようとすると、何が起こっているのかを理解するのが難しくなる可能性があります。たとえば、input#customer_name
変更からの値は表示されますが、PHPによって生成されて動的に提供されるため、それを変更するコードは見つかりません。
PHPからデータだけを送信し、そのデータを使用するロジックをjsファイルに保持することをお勧めします。あなたが投稿したコードを考えるとecho 'something'
、PHPだけで、jsからこれを行うことができます。
$.ajax({
type: 'POST',
url: "ajax/newCustomer.php",
data: ser,
success: function(data)
{
$('input#customer_name').val(data);
}
});
より複雑なデータを送信する必要がある場合は、JSON(echo json_encode($myarray);
)としてエンコードされたPHP配列を使用できます。次に、JavaScriptdata
で配列またはオブジェクトになり、必要に応じてループしたり、名前付きプロパティにアクセスしたりできます(jQueryは自動的にJSONを解析します)。
たとえば、次のPHPについて考えてみます。
$array = array(
'foo' => 'bar',
'bar' => true,
'baz' => 5
);
echo json_encode($array);
その場合、data
ajaxコールバックの引数は次のようなjsオブジェクトになります。
{
'foo' : 'bar',
'bar' : true,
'baz' : 5
}
data.foo
、、data.bar
およびを使用してこれらのプロパティにアクセスできますdata.baz
。