iT邦幫忙

0

如何把JS的變數透過ajax傳給PHP

  • 分享至 

  • xImage
<script>
var thing = "SOMETHING";
</script>

<?php
$thing = //讀取上面變數值
?>
tunin iT邦新手 4 級 ‧ 2021-01-05 11:37:18 檢舉
感覺你並沒有理解到這兩段code執行的地方並不相同,要先有這樣的認知才行。
WQ iT邦新手 2 級 ‧ 2021-01-05 11:57:54 檢舉
版主少了一個觸發動作或事件陳述....
235467890 iT邦新手 5 級 ‧ 2021-01-05 18:19:34 檢舉
謝謝成功解決了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
3
japhenchen
iT邦超人 1 級 ‧ 2021-01-05 07:41:36
最佳解答

我慣用jQuery

javascrpit端,以下例子我用setTimeout每5秒跑一次ajax,你也可以自己定出想要ajax的情境

$(function(){
    setTimeout(doPost,5000);
})

var doPost= function(){
    // $.post是繼承自$.ajax再包裝後的簡化函數
    $.post({ 
        url : "your.php",
        dataType: "text",
        data : { 
            "act": "postsomething",
            "something": thing 
            }
        })
        .done(function(d){
            console.log(d);// PHP傳回值
            setTimeout(doPost,5000);//確定有送回再執行下一個
        })
        .fail(function(){
            setTimeout(doPost,5000);//失敗也要執行下一個
        })
};

PHP端

<?php 
    if(isset($_POST["act"]) && $_POST["act"]=="postsomething") {
        $thing = $_POST["something"];
        // ... $thing任你處置
        echo "....回傳什麼給前端js吧.......";
        die();
        exit();//停止php
    }
?>
235467890 iT邦新手 5 級 ‧ 2021-01-05 18:16:05 檢舉

**

235467890 iT邦新手 5 級 ‧ 2021-01-05 19:33:26 檢舉
235467890 iT邦新手 5 級 ‧ 2021-01-05 19:34:15 檢舉

謝謝

1
優悠
iT邦新手 3 級 ‧ 2021-01-05 09:36:37

JS寫法:

var content=document.getElementById("content");

var xhr=new XMLHttpRequest();

xhr.open("get","./data.txt");
xhr.send();

xhr.onload=()=>{
    content.innerText=xhr.responseText;
}

JQ寫法:

$.ajax({
       url: '@Url.Action("XXX_Edit", CTRL_XXX)',
       data: {
            XXX_PK: '',
            XXX_KIND: $('#XXX_KIND').val(),
            XXX_VALUE: $('#XXX_VALUE').val()
       },
      type: 'post',
      cache: false,
      async: false,
      dataType: 'json'
}).done((data)=>{   
      console.log(data);
});
4

我覺得。你得先搞懂一下前後端。

說說以前教過的人的說法。

當時有人也是知道ajax。知道jquery。
但就是搞不懂。發test的參數,一直要用$test。

我解釋了超多名詞。他還是不懂。
最後沒辦法。只好用另類的說法。

我跟他說,你目前寫的ajax。將它想像成另開一個網頁。
只是這個開出來的網頁。是內部運行的,你看不到的(我當時說背景他不懂)
一樣也是跟用表單一樣。(幸好這傢伙懂表單傳送)
POST發送給php程式。

那php程式要怎麼接值呢?
他才總算回答,用$_POST

以上的故事,看你是否能聽懂。

235467890 iT邦新手 5 級 ‧ 2021-01-05 21:39:47 檢舉

我是新手

大推這個留言 如果不學基本的網頁知識 十次問十次 懂不懂網頁提交有哪些action 什麼是ajax 怎麼操作dom 我覺得這篇樓主連前後端都分不清楚

是的,我知道你是新手。
要不然我不會叫你先搞懂前後端。
因為也只有新手才會問這樣的問題。

我要發表回答

立即登入回答