AJAX के माध्यम से PHP को multiple data भेजने के दो मुख्य तरीके हैं: JSON फॉर्मेट और पारंपरिक POST डेटा।
विधि 1: JSON के साथ (आधुनिक, अनुशंसित)
// JavaScript/jQuery
var value_1 = 1;
var value_2 = 2;
var value_3 = 3;
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "your_endpoint.php",
data: JSON.stringify({
data_1: value_1,
data_2: value_2,
data_3: value_3
}),
success: function(result) {
console.log("सफलता:", result);
},
error: function(xhr, status, error) {
console.error("त्रुटि:", error);
}
});
PHP में JSON डेटा प्राप्त करना
<?php
// JSON input पढ़ें
$json = file_get_contents('php://input');
$data = json_decode($json, true);
if ($data) {
$val1 = $data['data_1'] ?? null;
$val2 = $data['data_2'] ?? null;
$val3 = $data['data_3'] ?? null;
// प्रोसेसिंग...
echo json_encode(['status' => 'success', 'received' => $data]);
}
?>
विधि 2: पारंपरिक Form Data (application/x-www-form-urlencoded)
// jQuery serialize() के साथ
$.ajax({
type: "POST",
url: $('#myForm').attr("action"),
data: $('#myForm').serialize(),
success: function(result) {
// परिणाम संभालें
}
});
// या मैन्युअल object के साथ
$.ajax({
type: 'POST',
url: '/ajaxload.php',
data: {id: 10, user_id: 1},
success: function(html) {
$('#show_more_main10').remove();
$('.post_list').append(html);
}
});
PHP में Form Data प्राप्त करना
<?php $id = $_POST['id'] ?? null; $user_id = $_POST['user_id'] ?? null; // वैलिडेशन और प्रोसेसिंग... echo "डेटा प्राप्त: ID=$id, User ID=$user_id"; ?>
तुलना और सर्वोत्तम अभ्यास
| पहलू | JSON | Form Data |
|---|---|---|
| जटिल डेटा (nested objects) | ✅ उत्कृष्ट | ❌ सीमित |
| ब्राउज़र संगतता | आधुनिक ब्राउज़र | सभी ब्राउज़र |
| PHP में पार्सिंग | json_decode() | स्वचालित $_POST |
| फाइल अपलोड | ❌ Base64 आवश्यक | ✅ FormData के साथ |
सुरक्षा नोट्स
- हमेशा
htmlspecialchars()या prepared statements का उपयोग करें - CSRF टोकन लागू करें
- Content-Type हेडर वैलिडेट करें