PHPでは、次のように2つの部分を持つ配列があります
array('threeRowHtml'=> '<HTML output string>',
'jsCode'=> '<script output string>'
)
その配列を ajax 呼び出しに返します。応答を解析したところ、これらの文字列のうち 2 つを取得できました。それらを自分のページに挿入し、評価して return js スクリプトを実行したいと思います。「threeRowsHtml」を挿入できましたが、「jsCode」では機能しませんでした。
$.ajax({
url: postUrl,
type: "post",
beforeSend:function(){
process.show(); // just my popup
},
success: function(data){
data = $.parseJSON(data);
if(data.returnCode == 1){
//var jsCode = eval("(" + data.jsCode + ')');
console.log(data.jsCode); // print out OK
$('#rp_script').replaceWith(data.jsCode); // did not work
$('#rp_content').replaceWith(data.threeRowsHtml); // insert into page OK
}
else{
$('#rp_errors').replaceWith(data.errorHtml);
}
process.hide();
}
})
ここに応答を挿入する場所があります
<div id="rp_content">
</div>
<div id="rp_actions">
</div>
<div id="rp_script">
</div>
<div id="rp_errors"></div>
戻りスクリプト文字列の構文は問題ありませんでした。間違っていると、JS エラー トークンに気付くからです。結果は常に「jsCode」の空の文字列であり、何が問題なのかわかりません。どんな助けでも大歓迎です!