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

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

使用 Php,我如何訪問我通過 Ajax 傳遞的 Java 腳本對象

使用 Php,我如何訪問我通過 Ajax 傳遞的 Java 腳本對象

侃侃爾雅 2022-06-16 15:47:45
因此,正如我在上面解釋的,我將訪問(使用 PHP)我使用 JS 創(chuàng)建的對象,然后使用 Ajax 傳遞給 .php。我聽說過 json,它可能很有用,或者沒有它我可以工作嗎?我正在鏈接我的代碼:    var data = {     v_Post: document.getElementById("v_Post").value,     x: document.getElementById("x").value,     y: document.getElementById("y").value,      }    $.ajax({      type: "POST",      url: "http://localhost:80/mySite.it/scripts/script.php",      data: "data=" + data,      dataType: "html",      success: function(v) {        alert("Chiamata riuscita!!!");          },      error: function(){        alert("Chiamata fallita!!!");      }    });  });});我嘗試在 php 中執(zhí)行此操作,但似乎不起作用:   $data = $_POST['data'];   echo '<script>console.log($data.v_Post); </script>';   echo $data.v_Post;
查看完整描述

2 回答

?
慕桂英546537

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

data是一個對象,您將其轉(zhuǎn)換為字符串 ( "[object Object]"),因此實際數(shù)據(jù)在您將其發(fā)送到 PHP 之前會丟失。


只需將對象本身傳遞給 jQuery,而無需將其轉(zhuǎn)換為字符串:


data: data,

然后 jQuery 將使用 PHP 將自動解碼并用于填充的標準 Form Url 編碼$_POST。


<?php

    header("Content-Type: text/plain");

    echo $_POST['v_Post'];

?>

然后它將在 JS 中可用:


success: function(response_data) {

     alert(response_data);

},


查看完整回答
反對 回復(fù) 2022-06-16
?
德瑪西亞99

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

如果您檢查,則"data=" + data計算結(jié)果為data=[object Object],因為對象在連接時被強制轉(zhuǎn)換為字符串。所以這不是我們想要的。


事實上,JSON 可以提供幫助,因為它為復(fù)雜數(shù)據(jù)形成了一個漂亮、統(tǒng)一的接口。此外,您不想自己指定參數(shù)編碼(data=...作為字符串),因為 jQuery 可以為您完成,如果您只傳遞一個包含參數(shù)的對象。我還冒昧地將參數(shù)重命名為payload,因此我們沒有兩個不同的東西,既命名data又混淆了答案。你會這樣使用它:


$.ajax({

  ...

  data: {

    payload: JSON.stringify(data)

  },

  ...

});

然后在 PHP 中,


$payload = json_decode($_POST['payload']);

我們也可以直接將 JSON 作為 POST 請求正文發(fā)送,而不是作為 POST 參數(shù),但 PHP 對訪問它并不是很好。你可以在這里看到更多。


但是,您沒有復(fù)雜的數(shù)據(jù)結(jié)構(gòu),您有三個平面變量 - 可以簡單地作為三個 POST 變量傳輸。在這種情況下,這就足夠了:


$.ajax({

  ...

  data: data,

  ...

});

在 PHP 中:


$v_Post = $_POST['v_Post'];

$x = $_POST['x'];

$y = $_POST['y'];


查看完整回答
反對 回復(fù) 2022-06-16
  • 2 回答
  • 0 關(guān)注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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