gm-xmlhttprequest 相关问题


JavaScript 中的 (/^\s+|\s+$/gm) 是什么意思?

我遇到了这个 JavaScript 函数: 函数 myTrim(x) { 返回 x.replace(/^\s+|\s+$/gm,''); } 我知道这个函数(mytrim())替换了字符串(x)中的一些字符,但是 /...


无法让 GM_notification 函数在 Tampermonkey 用户脚本(chrome、OSX)中工作

我正在尝试重写一些 Tampermonkey 脚本以使用一些内置的 TM/GM 函数,但我无法让它们工作。 GM_Notification 函数就是一个例子。 我正在使用它进行测试...


XHR 请求出现 500 内部服务器错误

这是我的代码: var fd = new FormData(document.querySelector('#form-step1')); var xhr = new XMLHttpRequest(); xhr.open('POST', '/Handlers/newAccount_handler.php', true); xhr.send(fd); // 这个我...


从 OpenAI API 请求时出现 400 错误

var openairequest = new XMLHttpRequest(); 常量有效负载 = ({ “型号”:“文本-davinci-003”, "prompt": "说这是一个测试" }); 控制台.log(有效负载)


flask_cors 和 pythonanywhere

我想托管一个python脚本(作为服务器端),我托管在pythonanywhere中。 我发现错误:从源“null”访问“https://sifo13.pythonanywhere.com/”处的 XMLHttpRequest 已被...阻止


CORS 错误:它没有 HTTP 正常状态

我目前正在使用express.js构建后端服务器。 它工作得很好,直到我的项目的基于网络的版本遇到了这个问题: 从原始位置访问“myurl.net/”处的 XMLHttpRequest...


使用appwrite创建Web应用程序时网络请求被拒绝有解决方案吗

如何清除此错误 (访问“https://cloud.appwrite.io/v1/account”处的 XMLHttpRequest 来自来源 'http://localhost:3000' 已被 CORS 策略阻止: 没有“访问控制允许来源”他...


从源“https://excel.officeapps.live.com”访问“https://localhost:8000/lib/functions.json”处的 XMLHttpRequest 被 CORS 策略阻止

我正在尝试通过JavaScript API在Excel中开发自定义函数。环境是Mac OS和Excel Online (Chrome)。 我按照教程并通过 npx office-addin-dev-certs 安装证书


Firebase 存储 CORS 对预检请求的响应未通过访问控制检查:它没有 HTTP 正常状态

我正在尝试将图像上传到 Firebase 存储。我在 Chrome 的控制台中记录了此错误: 访问 XMLHttpRequest:'https://firebasestorage.googleapis.com/v0/b/%22website-admin-


我已经使用 vite 创建了 React 应用程序,并且已将该应用程序与 keycloak 连接,但我收到了 CORS 错误

我已经使用 vite 创建了 React 应用程序并将其与 keycloak 连接,但我收到以下错误 - localhost/:1 访问位于 'http://127.0.0.1:8080/realms/myrealm/protocol/... 的 XMLHttpRequest


encodeURIComponent 的结果在服务器端未正确解码

我正在努力正确编码/解码 JSON 字符串,以便通过 GET 请求中的查询字符串发送。 ...</desc> <question vote="0"> <p>我正在努力正确编码/解码 JSON 字符串,以便通过 GET 请求中的查询字符串发送。</p> <pre><code>&lt;html&gt; &lt;head&gt; &lt;script type=&#34;text/javascript&#34;&gt; function executeRequest(applyUriEncode) { var json = &#39;{&#34;foo&#34;:&#34;💀🍕⚡💎&amp;🎁❤很久很久以前&#34;}&#39;; var xmlhttp = new XMLHttpRequest(); xmlhttp.open(&#39;GET&#39;, &#39;https://example.com/test.php?json=&#39;+(applyUriEncode ? encodeURIComponent(json) : json), false); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 &amp;&amp; xmlhttp.status == 200) { console.log(&#34;applyUriEncode: &#34;+(applyUriEncode ? &#34;true\n&#34; : &#34;false\n&#34;)); console.log(xmlhttp.responseText+&#34;\n&#34;); } }; xmlhttp.send(); } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;button onClick=&#34;executeRequest(true);&#34;&gt;Submit encoded&lt;/button&gt; &lt;button onClick=&#34;executeRequest(false);&#34;&gt;Submit unencoded&lt;/button&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <pre><code>&lt;?php // test.php echo $_GET[&#39;json&#39;]; </code></pre> <p>点击<pre><code>Submit encoded</code></pre>和<pre><code>Submit unencoded</code></pre>时的输出:</p> <pre><code>applyUriEncode: true {&#34;foo&#34;:&#34;💀ðŸ•âš¡ðŸ’Ž&amp;ðŸŽâ¤å¾ˆä¹…很久以å‰&#34;} applyUriEncode: false {&#34;foo&#34;:&#34;💀🍕⚡💎 </code></pre> <p>期望的输出是</p> <pre><code>{&#34;foo&#34;:&#34;💀🍕⚡💎&amp;🎁❤很久很久以前&#34;} </code></pre> <p>我需要对 JSON 进行编码,否则,特殊字符(例如 <pre><code>&amp;</code></pre>)会破坏字符串。然而,PHP 似乎没有正确解码 <pre><code>encodeURIComponent</code></pre> 的结果。我在服务器端尝试了 <pre><code>urldecode</code></pre>,但这并没有改变任何事情(输出保持不变)。</p> <p>我觉得这是一个基本问题,在 StackOverflow 上应该有答案,但我找不到。我发现了大量具有类似问题的问题,但没有一个问题能让我找到针对这个特定问题的解决方案。</p> </question> <answer tick="false" vote="0"> <p>您遇到的问题与字符编码有关。当您在 JavaScript 中使用 <pre><code>encodeURIComponent</code></pre> 时,它会正确对 JSON 字符串(包括 Unicode 字符)进行百分比编码。但是,当 PHP 接收查询字符串时,它不会自动将百分比编码的 Unicode 字符解码回其原始形式。</p> <p>要解决此问题,您需要确保 PHP 将传入数据解释为 UTF-8,然后使用 <pre><code>urldecode</code></pre> 解码百分比编码的字符串。以下是如何修改 PHP 代码以获得所需的输出:</p> <pre><code>&lt;?php // test.php // Get the raw, percent-encoded JSON string from the query parameter $encodedJson = $_GET[&#39;json&#39;]; // Manually decode the percent-encoded string $decodedJson = urldecode($encodedJson); // Ensure that the string is treated as UTF-8 $decodedJson = mb_convert_encoding($decodedJson, &#39;UTF-8&#39;, &#39;UTF-8&#39;); // Output the decoded JSON string echo $decodedJson; </code></pre> <p>此代码片段假设您的 PHP 环境配置为使用 UTF-8 作为默认字符编码。如果不是,您可能需要在脚本开头使用 <pre><code>mb_internal_encoding(&#39;UTF-8&#39;)</code></pre> 将字符编码显式设置为 UTF-8。</p> <p>此外,需要注意的是,当您在查询字符串中发送 JSON 数据时,应始终使用 <pre><code>encodeURIComponent</code></pre> 对 JSON 字符串进行编码。这是因为查询字符串具有某些保留字符(如 <pre><code>&amp;</code></pre>、<pre><code>=</code></pre>、<pre><code>+</code></pre>、<pre><code>?</code></pre> 等),如果不进行编码,可能会破坏 URL 的结构。 <pre><code>encodeURIComponent</code></pre> 函数确保这些字符被安全编码,这样它们就不会干扰 URL 的格式。</p> <p>在客户端,当将 <pre><code>encodeURIComponent</code></pre> 标志设置为 <pre><code>applyUriEncode</code></pre> 时,您的 JavaScript 代码使用 <pre><code>true</code></pre> 是正确的。始终使用编码版本在查询字符串中发送数据,以避免特殊字符出现问题。</p> </answer> </body></html>


© www.soinside.com 2019 - 2024. All rights reserved.