當我們在執行網頁間的傳送資料時,字串間常會有出現『/#+!...』的特殊字眼。
而接收方的網頁上常常會以空白的方式呈現,或是直接消失。造成錯誤的資料傳遞。
為避免此情況發生,我們可以使用 javascript encodeURIComponent() 函式先將傳送方的資料做一次utf-8編碼。
使用方法:
傳送方網頁 send.html
<html>
< head>
< title> 傳方送方 < /title>
< script type="text/javascript">
function query_send() {
tourl = 'doquery.php';
send_variable = "supply_id=" + document.getElementById('supply_id').value;
send_variable += "&memo_key=" + encodeURIComponent(document.getElementById('memo_key').value);
post_ajax(tourl, show_list, send_variable);
}
function show_list() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById('list_area').innerHTML = http_request.responseText;
}
}
}
< /script>
</HEAD>
<BODY>
查詢條件:
廠商: < INPUT TYPE='text' id='supply_id' style='width:50px'>
備註: < INPUT TYPE='text' id='memo_key' style='width:120px'>
< A href='javascript:void(0)' onclick='query_send()' > 查詢 < /A>
< DIV id='list_area' > < /DIV>
</BODY>
</HTML>
--------------------------------------------------------------------------------------
接收方網頁 doquery.php
<? php
$supply_id = $_REQUEST['supply_id'];
$memo_key = stripSlashes(htmlentities($_REQUEST['memo_key'])); // 因為encodeURIComponent不處理單引號,所以,於PHP程式中再處理單引號的轉換。
echo "廠商內容:".$supply_id."
備註內容:".$memo_key;
?>
而接收方的網頁上常常會以空白的方式呈現,或是直接消失。造成錯誤的資料傳遞。
為避免此情況發生,我們可以使用 javascript encodeURIComponent() 函式先將傳送方的資料做一次utf-8編碼。
使用方法:
傳送方網頁 send.html
<html>
< head>
< title> 傳方送方 < /title>
< script type="text/javascript">
function query_send() {
tourl = 'doquery.php';
send_variable = "supply_id=" + document.getElementById('supply_id').value;
send_variable += "&memo_key=" + encodeURIComponent(document.getElementById('memo_key').value);
post_ajax(tourl, show_list, send_variable);
}
function show_list() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById('list_area').innerHTML = http_request.responseText;
}
}
}
< /script>
</HEAD>
<BODY>
查詢條件:
廠商: < INPUT TYPE='text' id='supply_id' style='width:50px'>
備註: < INPUT TYPE='text' id='memo_key' style='width:120px'>
< A href='javascript:void(0)' onclick='query_send()' > 查詢 < /A>
< DIV id='list_area' > < /DIV>
</BODY>
</HTML>
--------------------------------------------------------------------------------------
接收方網頁 doquery.php
<? php
$supply_id = $_REQUEST['supply_id'];
$memo_key = stripSlashes(htmlentities($_REQUEST['memo_key'])); // 因為encodeURIComponent不處理單引號,所以,於PHP程式中再處理單引號的轉換。
echo "廠商內容:".$supply_id."
備註內容:".$memo_key;
?>
留言
張貼留言