簡體   English   中英

如何將chrome擴展內容腳本中的js字符串發送到php

[英]How to send js string from chrome extension content script to php

我試圖做一個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文件發送發布請求。
  • 然后,您嘗試通過在另一個窗口中打開php頁面(通過get請求)來檢查是否已接收到它。

這兩個對文件的調用是完全分開的,因此第一個請求中傳遞的數據在第二個請求中不可用,因為php是無狀態的。

如果要檢查您的網絡擴展名是否與php一起正常工作,則必須檢查ajax請求實際返回的內容,而不是第二次調用該頁面。 打開瀏覽器開發人員工具的“網絡”標簽以進行檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM