第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將全局變量傳遞給ajax函數(shù),發(fā)布到php,保存到數(shù)據(jù)庫

將全局變量傳遞給ajax函數(shù),發(fā)布到php,保存到數(shù)據(jù)庫

慕沐林林 2023-07-14 15:37:31
我有一個全局變量,我想將其傳遞到 Ajax 中。Ajax 對我來說非常陌生,我已經(jīng)做了一些研究和測試,但我陷入困境。我不知道第一個問題的變量是否被傳遞到 Ajax 函數(shù)中。我對 Json 并不是很感興趣,但是我也嘗試過,但它也不正確。我不希望從 php 獲得返回頁面的響應,該頁面正在使用現(xiàn)有的 js 和 html 進行更新。我的第二個困境是我的 php 文件在應該激活的時候被激活,但是它在數(shù)據(jù)庫字段中發(fā)布了 0。這里的另一個問題是,它將所有用戶的資金更新到同一個 0 條目,因此其 isset 的某些方式尚未正確設置。我相信我的bindValue編碼正確,我真的不確定是否需要分解到php頁面的POST,如果是這樣,如果我必須使用該值,我該怎么做?另外,當我添加 WHERE userid = userid 來 UPDATE 時,游戲完全停止。任何幫助,即使是一個小修復,都將不勝感激。這是文件。預先感謝您幫助我了解 Ajax。游戲.jsmoney = 2000;function updateMoney() {   if ( pot <= 0 ){    if ( money <= 0 ){    document.getElementById("aaa").innerHTML = "Lost? Here's A Loan !!!";      money = 1000 ;}  }   document.getElementById("money").innerHTML = money;  }  function enterWager(){  // doMath function inside herevar x=parseInt(document.getElementById('textbox').value,10);  // Displays the textbox for placing a wager   if (money <= 0) {      x = 0 ; }document.getElementById("bet").innerHTML = parseInt(x,10);if(isNaN(x)||x < 1 || x > 250){document.getElementById("aaa").innerHTML = "You're Out Of Money!!!";}    document.getElementById("textbox").style.display = 'none';    document.getElementById("button").style.display = 'none';        function doMath() {  //   PVPCoinTransaction()   and   transferCoins()  are off right now. Plus 4 tests failed and are also off at end of function.   if (pot == 0){       countWagers = 0;   }      if (money <= 0) {      money = 0 ; }   if (x > money) {      x = money ; }  money = money - x;  pot = pot + x;                 }doMath()function updateDatabase() {   // POST test not working//    $.ajax({//     url: 'php/credits/credit.php', // //     type: "POST",//     dataType:'json', // add json datatype to get json//     data: ({money: 145}),  Do I put div here and how?//     success: function(data){//   I dont need to return anything, just update db field!//     }//}); 
查看完整描述

3 回答

?
Smart貓小萌

TA貢獻1911條經(jīng)驗 獲得超7個贊

money您的服務器需要在您的數(shù)組中調(diào)用一個密鑰$_POST。這意味著為了正確接收數(shù)據(jù),您還需要使用密鑰發(fā)送數(shù)據(jù)。在 PHP 中,該數(shù)據(jù)看起來像一個關聯(lián)數(shù)組,而在 JavaScript 中,該數(shù)據(jù)看起來像一個對象,都具有鍵和值。


完成鍵值結(jié)構(gòu)的最簡單方法是使用結(jié)構(gòu)創(chuàng)建字符串key=value。這類似于表單將數(shù)據(jù)發(fā)送到服務器的方式,并且無需修改后端即可接收數(shù)據(jù)。


var package = `money=${money}`;

沒有什么問題XMLHttpRequest(有ActiveXObject;)),我建議學習Fetch API。它是向服務器發(fā)出 HTTP 請求或從服務器發(fā)出 HTTP 請求的更新和簡化規(guī)范。您已表示不需要接收響應,這意味著發(fā)送數(shù)據(jù)的基本 POST 請求如下例所示。


fetch('../php/credits/credit.php', {

  method: 'POST',

  body: package

});

第一個參數(shù)是 URL,第二個參數(shù)是選項對象。該method屬性不言而喻。該body屬性是您要發(fā)送的數(shù)據(jù)(相當于xml.send(package);)。


現(xiàn)在,如果您的 URL 正確,則應將包含正確數(shù)據(jù)的 HTTP 請求發(fā)送到您的服務器。


// $_POST should have received data, and because you've send it as a

// key-value it will be represented as an associative array with, 

// you guessed it, keys and values.

$money = $_POST[ 'money' ];


// $money will always be a string in this form, so you'll 

// need to convert it if you need it to be a number.

$money_as_number = intval( $money );

要測試這是否有效,請打開network瀏覽器開發(fā)人員工具中的選項卡。您可以檢查是否發(fā)生 HTTP 請求并檢查是否發(fā)送了正確的負載。


查看完整回答
反對 回復 2023-07-14
?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

好吧,這就是控制臺中的工作原理......


function updateDatabase() { 


var package = money;

console.log(package);

fetch('../php/credits/credit.php', {

  method: 'POST',

     headers: {

      'Accept': 'application/json',

      'Content-Type': 'application/json'

    },

  body: JSON.stringify(package)


});

}

控制臺日志 = 1975 game.js:1608:9


我現(xiàn)在只需要通過我的 php 將 1975 年的值發(fā)布到數(shù)據(jù)庫。它仍然將 0 發(fā)布到我的數(shù)據(jù)庫中。


查看完整回答
反對 回復 2023-07-14
?
慕俠2389804

TA貢獻1719條經(jīng)驗 獲得超6個贊

我解決了。感謝您讓我走上正確的道路!


<?php 

session_start();

if (isset($_SESSION['userid'])) {

 $money = json_decode(file_get_contents('php://input'), true);

 $money_as_number = intval( $money );

 $userid = $_SESSION['userid'];

try {

$db = DB();


$stmt = $db->prepare("UPDATE usersystem SET money=:money WHERE userid=:userid");

$stmt->bindValue(':money', $money_as_number, PDO::PARAM_INT);

$stmt->bindValue(':userid', $userid, PDO::PARAM_STR);

$stmt->execute();


}

    catch(PDOException $e)

    {

        $db = null;  

        echo $e->getMessage();  

    }

    }

    ?>


查看完整回答
反對 回復 2023-07-14
  • 3 回答
  • 0 關注
  • 226 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號