0
HTML調用「ajax_request('server_code.php','result_id')」onClick。它未能在第一時間與此錯誤:iframe AJAX請求首次點擊失敗,此後完美地工作
*遺漏的類型錯誤:無法讀取空的ajax_request ajax.js財產「的innerHTML」:35(匿名函數)*
但每次後續調用完美的作品。爲什麼..?
這裏下載的所有文件:http://k.min.us/iejWmy.zip
HTML:
<html>
<head>
<!-- ajax -->
<script src='ajax.js' type='text/javascript'></script>
</head>
<body>
<a id='test' href='#' onclick="ajax_request('php.php','show_result')">get ajax data</a>
<div id='show_result'></div>
<body>
</html>
的Javascript 'ajax.js'
/****************************************************************************
Iframes based AJAX function.
@ url - server side script location
@ result_id - server side script output
****************************************************************************/
function ajax_request(url,result_id)
{
var ajax_iframe_id = 'ajax_iframe_loader';
var ajax_iframe = document.getElementById(ajax_iframe_id);
// create hidden iframe transfer buffer if it's not created already.
if (ajax_iframe == null)
{
var element = document.createElement("iframe");
element.setAttribute('src',url);
element.setAttribute('id',ajax_iframe_id);
document.body.appendChild(element);
element.style.display='none';
element.style.width='1';
element.style.height='1';
element.style.border='0';
ajax_iframe = element;
}
// load server side page into iframe buffer
ajax_iframe.src = url;
// get the outputted result from inside our transfer div
var iframe_inner_doc = ajax_iframe.contentDocument || ajax_iframe.contentWindow.document;
// target AJAX data to transfer
var content_to_transfer = iframe_inner_doc.getElementById('to_transfer').innerHTML;
// paste result
document.getElementById(result_id).innerHTML = content_to_transfer;
}
PHP 'php.php'
<html>
<body>
<div id='to_transfer'>random number via ajax is:<font size='15'><?=mt_rand(5, 15);?></font></div>
</body>
</html>
欣賞回覆。我正在努力瞭解我需要遵循的事件順序才能使其工作。這是一個時間問題?在傳輸它之前是否應該等待服務器端腳本加載? – zed