【问题标题】:not able to load javascript code无法加载 javascript 代码
【发布时间】:2016-12-29 17:35:19
【问题描述】:

在进行 ajax 调用后,我正在使用 java 脚本来显示具有新 JS 内容的 div 中的数据。请参考以下代码:

//来自a.jsp的ajax调用

var goUrl = "/testMethod/getTestMethod;
            var httpRequest=null;
            var refreshContent = "null";
            httpRequest = XMLHTTPObject();
            httpRequest.open("POST", goUrl, true);
            httpRequest.onreadystatechange = function () {ajaxFunction(refreshThisDiv,httpRequest); } ;
            httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            httpRequest.send(null);



function ajaxFunction(refreshThisDiv,httpRequest){

    var serversideValidation = true;
    if (httpRequest.readyState == 4)
    {
        if(httpRequest.status == 200)
        {
            results =  httpRequest.responseText;  // http.responseXML; which will lead to an XML based response, if we were to have some XML output from a server file

            if(results != 'null') {
                var test= document.getElementById(refreshThisdiv);

                test.style.display = '' ;
                test.innerHTML =  results;


            }

//下面是b.jsp中要显示的新内容。

<div id="test">
</div>
<script>
 var test = document.getElementById("test");
test.innerHTML ="HI";
</script>

结果正常并重定向到 b.jsp 并显示 html 内容。但是标签不起作用:(

我想在该 div 的 ajax 调用完成后看到 Hi。请帮帮我。

【问题讨论】:

  • 他们以什么方式“不工作”?您是否收到特定的错误消息?
  • 脚本里有什么,请在test.innerHTML = results;后面加上
  • @Vijay 非常感谢。我弄错了,你的建议成功了。

标签: javascript html ajax jsp


【解决方案1】:

ID 不是#test,而是test#test 是一个选择器,可以与 jQuery、CSS 或 document.querySelector 一起使用。 document.getElementById 毫无疑问需要 ID。 :)

【讨论】:

  • 嗨@Amadan 感谢您的更正。但是在完成 ajax 调用之后,我仍然需要 javascript。新的 jsp 内容中甚至没有出现警报
  • 抱歉,但是...您发布的代码中没有 Ajax。我们无法修复我们看不到的东西。
  • 嗨@Amadan。我已经添加了代码。请检查一下。
  • 所以基本上你用innerHTML 添加东西并期望它在其中执行脚本?这可能是重复的:Can scripts be inserted with innerHTML?
【解决方案2】:

getElementById() 只需要 ID 的名称。您通过传递 #test 错误地使用了 CSS-ish 语法,而其中只需要 test

更正新代码:

<div id="test">
</div>
<script>
  var test = document.getElementById("test");
  test.innerHTML ="HI";
</script>

【讨论】:

  • 嗨@Matt 感谢您的更正。但是在完成 ajax 调用之后,我仍然需要 javascript。新的 jsp 内容中甚至没有出现警报
  • 能否更新您的问题并提供更完整的代码示例?您的原始示例中没有 ajax。
  • 嗨@Matt。我已经添加了代码。请检查一下。
  • 谁能帮我把一个javascript列表分成两个不同的列表?我有一个 javascript 列表。使用分隔符我想将它分成两个列表。这里我使用':'作为分隔符。 saye 我们有一个列表 a 为: list a = [1,2,3,:,4,5] 现在我想把它分成两个不同的列表 list b = [1,2,3] list c =[4 ,5] 任何人都可以请建议使用 javascript / jquery 的最佳解决方案。
  • a) [1,2,3,:,4,5] 不是一个有效的 JavaScript 列表,所以我们不知道如何回答这个问题。 b) 虽然可以要求对当前问题进行澄清,但这完全不相关:作为新问题发布。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多