javascript - 在ajax显示块里再次应用ajax,js报方法未定义
高洛峰
高洛峰 2017-04-10 15:25:27
[JavaScript讨论组]

比如说A页面使用了ajax,在p中显示了B页面。
然后B页面中的一个块也用到了ajax要显示C页面的内容。
A页面可以显示B页面的内容,但是B页面的onclick()报错了,无法显示C页面。
如果直接访问B页面,也就是只用一次ajax时,B页面中的p是可以显示C页面。

SearchFriend.jsp

<%@ page language="java" import="java.util.*,java.sql.*"
    contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="beans.User"%>
<%@ page import="dao.OperateDB"%>
<%
    User u = new User();
    OperateDB oDB = new OperateDB();
    u = oDB.getUserByUsername((String) (session
    .getAttribute("username")));
    ArrayList userFriends = oDB.getAllFriendsOf(u);
%>





寻找好友











    
    

ShowSearchResult.jsp

<%@ page language="java" import="java.util.*,java.sql.*"
    contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="beans.User"%>
<%@ page import="dao.OperateDB"%>
<%
    User u = new User();
    OperateDB oDB = new OperateDB();
    u = oDB.getUserByUsername((String) (session
            .getAttribute("username")));
    User user = new User();
    String username = request.getParameter("username");
    if (username != null) {
        user = oDB.getUserByUsername(username);
    }
%>





我的好友











    

<% if (user != null) { out.print(user.getPicture() + "
"); out.print(user.getUserID() + "
"); out.print(user.getUsername() + "
"); out.print(user.getAge() + "
"); out.print(user.getSex() + "
"); out.print(user.getAddress() + "
"); out.print(""); out.print("

"); out.print("

"); } else { out.print(username + " 不存在"); } %>

SendMessage.jsp

<%@ page language="java" import="java.util.*,java.sql.*"
    contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="beans.User"%>
<%@ page import="dao.OperateDB"%>
<%
    User u = new User();
    User user1=new User();
    User user2=new User();
    OperateDB oDB = new OperateDB();
    u = oDB.getUserByUsername((String) (session
            .getAttribute("username")));

    String uid = request.getParameter("uID");
    String userid = request.getParameter("userID");
    String text = request.getParameter("text");
    if (uid != null&&uid!="") {
        int userid1 = Integer.parseInt(uid);
        user1=oDB.getUserByUserID(userid1);
    }
    if (userid != null&&userid!="") {
        int userid2 = Integer.parseInt(userid);
        user2=oDB.getUserByUserID(userid2);
    }
    oDB.sendAddFriendMessage(user1, user2, text);
%>




发送消息


    请求已发送


点击没反应,调试报错

在IE调试下报了方法未定义的错误。我觉得可能是不能在A页面找到B页面的js方法。

直接访问B页面,点击加好友可以弹出输入框

如何解决此问题,不能用ajax块嵌套一个ajax块(暂且我就这样描述吧)吗?
页面是jsp写的,css,js和html都没分开写。用了JavaBean和dao封装了些东西。
感觉@浅黑色 的回答可能是答案涉及的。可是本人对js了解不多,边学边做。期待有原生js的回答。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
PHPz

按照你的叙述:b页面属于新添加内容,一般的点击事件是不行的,需要了解下事件委托。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号