Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从.ashx文件调用Javascript方法_Javascript_Asp.net_Generic Handler - Fatal编程技术网

从.ashx文件调用Javascript方法

从.ashx文件调用Javascript方法,javascript,asp.net,generic-handler,Javascript,Asp.net,Generic Handler,根据我前面的问题(),在.ashx文件中,我正在使用以下方法打印json对象: context.Response.ContentType = "application/json"; context.Response.Write(json); 我从default.aspx调用这个.ashx文件,它的标记中有一些javascript函数。 我的问题是: 如何在context.Response.Write(json)之后从.ashx文件调用javascript函数 更新: 我的最终目标是实现Data

根据我前面的问题(),在
.ashx
文件中,我正在使用以下方法打印json对象:

context.Response.ContentType = "application/json";
context.Response.Write(json);
我从default.aspx调用这个
.ashx
文件,它的
标记中有一些javascript函数。 我的问题是:
如何在
context.Response.Write(json)之后从.ashx文件调用javascript函数

更新
我的最终目标是实现DataTable,我希望使用javascript函数将行与上下文菜单绑定。 为此,我使用以下代码调用
.ashx
文件:

 $('#example').dataTable({
            'bProcessing': true,
            'bServerSide': true,
            'sAjaxSource': '/data.ashx'
        });
你可以用

eval

在客户端以javascript的形式评估响应。但我怀疑你是否真的需要或想要这个,这可能不是一个非常优雅的解决方案。那么您想要归档什么呢?

您使用的是ajax请求吗?在这种情况下,您可以使用javascript中可用的成功方法,如W3S中的以下示例所示:

function showHint(str)
{
var xmlhttp;
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    // You can call your custom method here...  
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","gethint.asp?q="+str,true);
xmlhttp.send();
}

或者,如果您正在使用jquery:

$.ajax({
  url: "test.html",
  context: document.body
}).done(function() { 
  // You can call your custom method here... 
  $(this).addClass("done");
});
更新

检查:您可以使用的方法是:fnInitComplete

e、 g


我不知道
eval
是如何工作的……请你为我澄清一下好吗?我的最终目标是实现。在这一点上,我希望使用javascript函数将行与上下文菜单绑定。eval接受一个包含要执行的javascript代码的字符串参数。为什么不在服务器端为行(例如,主行、子行、具有特殊上下文菜单的行)分配HTML类属性,并在收到响应后运行客户端javascript为每个行类分配相应的上下文菜单?很抱歉,我应该在前面提到如何调用
.ashx
文件。请看问题的更新部分。
$('#example').dataTable({
            'bProcessing': true,
            'bServerSide': true,
            'sAjaxSource': '/data.ashx',
            'fnInitComplete' : function() {
                alert('Your menu population code here!');
             }
        });