我正在尝试制作一个chrome扩展程序,它会废弃某些网站的文本数据(当我访问该页面时)并将其保存在SQL数据库中。用于数据报废的js工作正常,它可以保存字符串中我需要的所有数据。现在我想将js字符串发送到我使用XAMPP的localhost 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。
答案 0 :(得分:1)
你的问题是你打开你的php文件两次。
这两个对你文件的调用是完全独立的,因此第一个请求中传递的数据在你的第二个请求中不可用,因为php是无状态的。
如果你想检查你的网络扩展是否与你的php一起正常工作,你将不得不检查ajax请求实际返回的内容,而不是第二次调用该页面。打开浏览器开发人员工具的网络选项卡进行检查。