我有一个ajax表单,我想提交,和响应包含两个div,一个包含html内容和另一个包含动态javascript的脚本标签。
我提交的形式和接收响应ok,但我似乎无法得到javascript评估。我在里面放了一个警报,但它从来没有触发过。这是我用来提交表单的代码:
$("#categoryFormSubmit").live("click", function(event){
event.preventDefault();
var action = this.form.action + '?_eventName=' + this.name + 'Ajax';
var params = $(this.form).serialize();
var xhr = $.post(action, params, function(response) {
var responseDom = $(response);
var contentData = $('#content', responseDom).html();
var javascriptData = $('#javascript', responseDom).html();
$('#content').html(contentData);
$('#javascript').html(javascriptData);
}, 'html');
});
在响应中,我试图将响应数据转换为DOM对象并解析出内容和javascript,并将它们插入到现有的DOM中。内容替换工作良好,但似乎没有与javascript一起工作。我不能让它求值。我该怎么做呢?我想我不应该像现在这样把它插入到DOM中
无需手动解析响应并分别将HTML和JS添加到页面中。jQuery将检测您试图添加到DOM的标记中的脚本,并处理它们的正确添加和执行。