Ajax заменяет содержимое div - PullRequest
0 голосов
/ 26 марта 2012

Я немного новичок в javascript и ajax, так что терпите меня. Я пытаюсь использовать функцию ajax для замены содержимого в div, когда я нажимаю на ссылку. Я получаю сообщение об ошибке «ajaxpage не определен». ajaxpage - это моя функция в js. Это пример кода, который я нашел по следующей ссылке: http://www.dynamicdrive.com/dynamicindex17/ajaxcontent.htm Любая помощь очень ценится.

Код ссылки:

<a href="javascript:ajaxpage('about.html', 'content');">About</a>

Руководитель:

<script type=”text/javascript” src="/js/ajax.js"></script>

Подлежащий замене элемент

<div id="content">
</div>

ajax.js файл:

< script type = "text/javascript" >

/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar = 1
//bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects = ""
var rootdomain = "http://" + window.location.hostname
var bustcacheparameter = ""

function ajaxpage(url, containerid) {
    var page_request = false
    if (window.XMLHttpRequest)
    // if Mozilla, Safari etc
    page_request = new XMLHttpRequest()
    else if (window.ActiveXObject) {
        // if IE
        try {
        page_request = new ActiveXObject("Msxml2.XMLHTTP")
        }
        catch(e) {
            try {
                page_request = new ActiveXObject("Microsoft.XMLHTTP")
            }
            catch(e) {}
        }
    }
    else
    return false
    page_request.onreadystatechange = function() {
        loadpage(page_request, containerid)
    }
    if (bustcachevar)
    //if bust caching of external page
    bustcacheparameter = (url.indexOf("?") != -1) ? "&" + new Date().getTime() : "?" + new Date().getTime()
    page_request.open('GET', url + bustcacheparameter, true)
    page_request.send(null)
}

function loadpage(page_request, containerid) {
    if (page_request.readyState == 4 && (page_request.status == 200 || window.location.href.indexOf("http") == -1))
    document.getElementById(containerid).innerHTML = page_request.responseText
}

function loadobjs() {
    if (!document.getElementById)
    return
    for (i = 0; i < arguments.length; i++) {
        var file = arguments[i]
        var fileref = ""
        if (loadedobjects.indexOf(file) == -1) {
            //Check to see if this object has not already been added to page before proceeding
            if (file.indexOf(".js") != -1) {
                //If object is a js file
                fileref = document.createElement('script')
                fileref.setAttribute("type", "text/javascript");
                fileref.setAttribute("src", file);
            }
            else if (file.indexOf(".css") != -1) {
                //If object is a css file
                fileref = document.createElement("link")
                fileref.setAttribute("rel", "stylesheet");
                fileref.setAttribute("type", "text/css");
                fileref.setAttribute("href", file);
            }
        }
        if (fileref != "") {
            document.getElementsByTagName("head").item(0).appendChild(fileref)
            loadedobjects += file + " "
            //Remember this object as being already added to page
        }
    }
}

 < /script>/

1 Ответ

0 голосов
/ 26 марта 2012

ОБНОВЛЕНО:

Я сделал демо для вас здесь: http://jsfiddle.net/sg552sg552/wsSCF/8/, я думаю, что это работает.

p.s. Я предлагаю вам использовать jQuery.ajax или jQuery.load. это демо версии jQuery: http://jsfiddle.net/sg552sg552/YAUeA/12/

для получения более подробной информации см. Официальный документ jQuery: http://api.jquery.com/load/

----------------- СТАРЫЙ ответ ----------------------- Вы когда-нибудь ссылались на файл "ajax.js" на своей странице? например,

<html>
  <head>
    <script src="ajax.js" type="text/javascript"></script>
  </head>
  <!-- body div... -->
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...