मैं इस सरणी को जावास्क्रिप्ट से PHP में भेजने की कोशिश कर रहा हूं, लेकिन मैं अपरिभाषित अनुक्रमणिका प्राप्त करता रहता हूं: लाइन 3 पर सूची। यह त्रुटि PHP फ़ाइल से आ रही है।

मैं एचटीएमएल, जावास्क्रिप्ट, और PHP सहित पूरे कोड को प्रदान करने जा रहा हूं।

यहाँ एचटीएमएल कोड है।

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type= "text/javascript" src = "js.js"></script>
</head>
<body>
    <form class = "wall" action="phpf.php"  method="post">
        <label>What is your name</label>
        <input type="text" name ="name" />

        <input type = "submit"  value = "Submit Order" />
    </form>
</body>

यहाँ जावास्क्रिप्ट कोड है

$(document).ready(function () {

var list = [34, 56, 23, 90, 43, 58];
$.ajax({
    type: "POST",
    url: "phpf.php",
    data: {'list': JSON.stringify(list)},
    cache: false,
    success: function (response) {
        console.log("This is the list", list);
    }

});
})

यहां वह जगह है जहां मैं इसे PHP में प्राप्त कर रहा हूं

<?php

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

echo "This is the new list".$list;
?>

मैं उम्मीद कर रहा था कि कोई मुझे कृपया कर सकता है।

0
Ahamed 26 जिंदा 2017, 21:28
json_decode() एक ऑब्जेक्ट बनाता है जो आमतौर पर एक त्रुटि देता है यदि आप इसे प्रतिध्वनित करने का प्रयास करते हैं। क्या आपने ब्राउज़र के डेवलपर टूल में AJAX अनुरोध/प्रतिक्रिया देखी है? क्या कोई त्रुटि रिपोर्ट की गई है? क्या आप इसे वेब-सर्वर पर चला रहे हैं?
 – 
Jay Blanchard
26 जिंदा 2017, 21:32
जब आप $सूची को प्रतिध्वनित करते हैं, तो आप चर नाम देते हैं, सरणी अनुक्रमणिका नहीं, $list[0] या बेहतर जैसी कुछ कोशिश करें, बस print_r($list);
 – 
user4965214
26 जिंदा 2017, 21:32
मुझे यह उत्तर यहां मिला शायद आपकी मदद कर सकता है। stackoverflow.com/questions/5004233/…< /ए>
 – 
Thomaz Lima
26 जिंदा 2017, 21:49

1 उत्तर

सबसे बढ़िया उत्तर

आप इको का उपयोग करके एक सरणी मुद्रित नहीं कर सकते हैं, आपको अपनी PHP फ़ाइल में प्रिंट या var_dump का उपयोग करना चाहिए:

<?php

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

echo "This is the new list";
print_r($list);

मैंने सत्यापित किया है और यह काम कर रहा है, मैं सिर्फ jQuery जोड़ता हूं, मुझे लगता है कि आप फ़ाइल को js.js में लोड कर रहे हैं। लेकिन मैंने अपना कोड यहीं रखा है:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<script type= "text/javascript" src = "https://code.jquery.com/jquery-2.2.4.js"></script>

</head>
<body>
<form class = "wall" action="phpf.php"  method="post">
    <label>What is your name</label>
    <input type="text" name ="name" />

    <input type = "submit"  value = "Submit Order" />
</form>
</body>

<script>
$(document).ready(function() {
   var list = [34, 56, 23, 90, 43, 58];
   $.ajax({
    type: "POST",
    url: "phpf.php",
    data: {'list': JSON.stringify(list)},
    cache: false,
    success: function (response) {
        console.log("This is the list", list);
    }

  });
});
</script>
</html>
0
migueref 26 जिंदा 2017, 22:17