如何在客户端上执行服务器返回的javascript

时间:2016-09-22 05:57:24

标签: javascript jquery ajax

我对服务器进行ajax调用,服务器返回javascript和jquery代码,例如

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

如何在客户端执行此操作?

4 个答案:

答案 0 :(得分: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
  }
})

答案 1 :(得分:1)

您可以将代码作为函数包含在静态页面中,然后从返回的ajax调用中调用该函数。一个小例子:

静态页面上的

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

关于你的ajax成功方法:

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

答案 2 :(得分:0)

您必须将自己的ID放在引号中,而将ID设为$使用#

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

答案 3 :(得分:0)

您可以使用javascript中的eval函数来执行作为字符串的scritp e.g。

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

我的情况

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