2016-09-22 86 views
0

的JavaScript我做一个AJAX调用服务器和服务器返回JavaScript和jQuery代码,如如何执行服务器返回客户端

$('someclass').html('<form id='billform'>......</>'); 
$('#billform').submit(); 

如何在客户端上执行此?

+0

'$( '#billform')提交();'希​​望这是问题和使用'id =“billform”' – Sasikumar

+0

从技术上讲,你可以在实践中使用'eval'运行任意代码,在大多数情况下这是一个非常糟糕的主意,并且表明你可能没有正确地做某件事。 – vlaz

回答

1

你可以把这些代码的脚本标签中,并把它添加到身体 此过程这里介绍最:https://stackoverflow.com/a/611016/4202031

但是,它不推荐简单地执行一些通过ajax加载的javascript。我会建议使用触发此页面上的代码的事件。

$.get('/sumUrl', function(data) { 
    switch(data.action) { 
    case 'event1': 
     //do sth. 
     break 
    case 'event2': 
     // do sth. else 
     break 
    } 
}) 
0

你必须把你的ID在引号中,并作为ID而不是$使用#

$('someclass').html('<form id="billform"></>'); 
$('#billform').submit(); 
0

可以使用从JavaScript eval函数执行其是字符串 例如所述scritp

eval('alert("Hello!")'); 

我你的情况

eval('$(".someclass").html("<form id="billform">......</>")'); 
eval('$("#billform").submit()'); 
1

可以包括代码作为静态页面的函数,然后调用从返回的Ajax调用的函数。一个小例子:

静态页面上:

function submitmyform(formcontents) 
{ 
    $("someclass").html(formcontents); 
    $("#billform").submit(); 
} 

你的AJAX的成功方法:

$.ajax({ 
    url: "/getform", 
    method: "POST", 
    data: $(".myform").serialize(), 
    success: function(data){ 
     submitmyform(data); 
    } 
});