gpt4 book ai didi

javascript - 如何将 js 字符串从 chrome 扩展内容脚本发送到 php

转载 作者:行者123 更新时间:2023-12-03 02:25:44 24 4
gpt4 key购买 nike

我正在尝试制作一个 chrome 扩展,它将从某些网站(当我访问该页面时)中删除文本数据并将其保存在 SQL 数据库中。用于数据抓取的js工作正常,它可以将我需要的所有数据保存在字符串中。现在我想将该 js 字符串发送到我使用 XAMPP 的本地主机 php 文件,但看起来 php 无法接收我发送的字符串。
我的用于发送数据的 js 代码片段

$.post("http://localhost:8080/naukri/index.php",            //link to localhost php  
{variable: finalVal}, //finalVal contains the string I want to send
function(data) {if (data != "") {
alert('We sent Jquery string to PHP : ' + data); //alert shows the string I am sending
window.open("http://localhost:8080/naukri/index.php"); //open php page to confirm if data received or not
console.log(data); //SOLVED use this instead of window.open()
}
});

我的PHP代码

$test;  
$test = $_POST['variable'];
echo $test; //just checking if string received or not, I will worry about inserting into SQL later.

现在警报显示了我尝试发送的正确字符串,但 php 页面显示了此错误

" Notice: Undefined index: variable in C:\xampp\htdocs\naukri\index.php on line 4"  

我认为这意味着 php 文件尚未收到我发送的字符串。
请告诉我如何成功地将字符串从js发送到php。

最佳答案

您的问题是您打开并调用您的 php 文件两次。

  • 您要做的第一件事就是向您的 php 文件发送一个 post 请求。
  • 然后您尝试通过在另一个窗口中打开您的 php 页面(通过 get 请求)来检查它是否已收到。

这两个对文件的调用是完全独立的,因此第一个请求中传递的数据在第二个请求中不可用,因为 php 是无状态的。

如果您想检查您的 Web 扩展是否与您的 php 一起正常工作,您必须检查 ajax 请求实际返回的内容,而不是再次调用该页面。打开浏览器开发者工具的网络选项卡进行检查。

关于javascript - 如何将 js 字符串从 chrome 扩展内容脚本发送到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48960800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com