亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP 解析從 Internet Explorer 發送的 Ajax 請求

PHP 解析從 Internet Explorer 發送的 Ajax 請求

PHP
慕容森 2022-06-17 17:06:58
我正在制定一個學校的實時時間表。現在當我測試它時,我只在 internet explorer 中得到一個錯誤。我使用 ie v.11 和字符集 UTF-8當我將當前學生的數據發送到 php 腳本時,有一些字符,如 ?,?,ü 會解析為 ?。但僅在 InternetExplorer 中。如果我發送這樣的 URL:http://adopraesenz.ipwin.ch/data/students.php?q=getWirth Nalia;3:Kürzel;0;0;4;0;0;0;并希望像這樣在 php 中接收它們$q = $_REQUEST["q"];echo $q;我得到這個輸出:getWirth Nalia;3:K?rzel;0;0;4;0;0;0;我正在發送這樣的數據:function getData(str) {            var requestURL = "http://adopraesenz.ipwin.ch/data/students.php?q=" +str;            var request = new XMLHttpRequest();            request.onreadystatechange = function() {                           if(this.readyState === 4 && this.status === 200){                    loadJson(request);                }            };            request.open("GET", requestURL, true);            request.send();        }有關更多代碼或信息,請詢問。
查看完整描述

1 回答

?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

在 PHP中urlencode,urldecode如果您想通過 GET 請求發送數據,您應該始終使用。首先對您的參數進行編碼,并在收到后再次對其進行解碼。大多數網絡服務器會為您進行解碼,因此您大部分時間只需調用編碼代碼。還要檢查您的表單是否在 html 和 http-header 中使用相同的字符集(首選 utf-8)


來自官方 php 文檔的示例


編碼


<?php

echo '<a href="mycgi?foo=', urlencode($userinput), '">';

解碼(網絡服務器大部分時間都會為您執行此操作)


<?php

$query = "my=apples&are=green+and+red";


foreach (explode('&', $query) as $chunk) {

    $param = explode("=", $chunk);


    if ($param) {

        printf("Value for parameter \"%s\" is \"%s\"<br/>\n", urldecode($param[0]), urldecode($param[1]));

    }

}

一個更簡單的解決方案是使用 post 請求而不是 get,這是發送 json 數據的首選方式。


查看完整回答
反對 回復 2022-06-17
  • 1 回答
  • 0 關注
  • 159 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號