Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
ajax调用是否不执行拉入页面上的javascript?_Javascript_Ajax_Asp.net Mvc - Fatal编程技术网

ajax调用是否不执行拉入页面上的javascript?

ajax调用是否不执行拉入页面上的javascript?,javascript,ajax,asp.net-mvc,Javascript,Ajax,Asp.net Mvc,我有一个ajax调用,它从一个页面中提取数据,该页面本身通过ajax调用从另一个页面提取数据。但第二页的javascript似乎没有执行。相反,它只是被带回来而没有被处决 代码如下: <script type="text/javascript"> function LoadAccessList() { var url = '@System.Configuration.ConfigurationManager.AppSettings["environme

我有一个ajax调用,它从一个页面中提取数据,该页面本身通过ajax调用从另一个页面提取数据。但第二页的javascript似乎没有执行。相反,它只是被带回来而没有被处决

代码如下:

<script type="text/javascript">
    function LoadAccessList()
    {
        var url = '@System.Configuration.ConfigurationManager.AppSettings["environmentSite"]/Search/Finish?function=searchAndRetrieve&section=search&step=finish&sourceDataset=Wickliffe&object=accessList&searchType=basic&renderAsPageFragment=true&inputParameter=accessEmail&selectedResultFormat=column&query0=@ViewBag.Email';

        document.getElementById('accessListResult').innerHTML = '<span style="color:#ff0000;font-weight:bold;">Please wait for results...</span>';

        var http = new XMLHttpRequest();
        http.open('GET', url, true);
        http.onreadystatechange = function ()
        {
            if (http.readyState == 4)
            {
                document.getElementById('accessListResult').innerHTML = http.responseText;
            }
        }
        http.send(null);
    }
</script>

<p>Access List</p>
<div name="accessListResult" id="accessListResult" class="" style="padding-top:20px;"></div>
<script>
    LoadAccessList();
    document.write("afterLoad");
</script>

TESTING 123

函数LoadAccessList()
{
var url='@System.Configuration.ConfigurationManager.AppSettings[“environmentSite”]/Search/Finish?function=searchAndRetrieve§ion=Search&step=Finish&sourceDataset=Wickliffe&object=accessList&searchType=basic&renderAsPageFragment=true&inputParameter=accessEmail&selectedResultFormat=column&query0=@ViewBag.Email';
document.getElementById('accessListResult')。innerHTML='请等待结果…';
var http=new XMLHttpRequest();
http.open('GET',url,true);
http.onreadystatechange=函数()
{
如果(http.readyState==4)
{
document.getElementById('accessListResult')。innerHTML=http.responseText;
}
}
http.send(空);
}
访问列表

LoadAccessList(); 文件。写入(“后加载”); 测试123
直接调用第二个页面,所有内容都会按其应该的方式(相对地)执行


我走错方向了吗?我只希望第二个页面执行到完成,然后将其内容传递回第一个页面进行渲染。

通过ajax检索的网页不会像正常加载的网页那样加载/解析。Javascript不会被解析,资源也不会被加载,等等。如果你是说在通过
innerHTML
添加Javascript之后执行,那么它将无法工作,因为浏览器会阻止以异步执行的方式添加的脚本执行。如果您想让它等到代码执行完毕。在ajax调用中的success()函数之后执行要执行的操作。否则它将跳过代码,而不是坐着等待。好的,谢谢大家。我感谢你的意见。