Tôi gửi một yêu cầu ajax vào một tập tin php như ở đây:gửi nhiều tham số dữ liệu với jQuery AJAX
function checkDB(code, userid)
{
$.ajax({
type: "POST",
url: "<?php bloginfo('template_url'); ?>/profile/check_code.php",
data: 'code='+code+'userid='+userid,
datatype: "html",
success: function(result){
if(result == 0)
{
$('#success').html(code + ' has been redeemed!');
// alert('success');//testing purposes
}
else if(result == 2)
{
$('#err').html( code + ' already exists and has already been redeemed....');
//alert('fail');//testing purposes
}else if(result == 1){
$('#err').html( code + ' redeem code doesnt exist');
}
alert(result);
}
})
}
này được gửi gọi hàm trên gửi, như vậy:
<form method="post" class="sc_ajaxxx" id="sc_add_voucherx" name="sc_ajax"
onsubmit="checkDB(document.sc_ajax.sc_voucher_code.value, <?php echo $user_id ?>); return false;">
</form>
Vấn đề là biến người dùng id php không được gửi đến trang check_code.php bởi ajax. hoặc ít nhất tôi không thể lặp lại id trở lại trang.
Đây có phải là cách chính xác để chuyển nhiều giá trị đến trang phía máy chủ không? Nếu không có userid đi qua, nó hoạt động tốt chỉ cần đi qua mã.
Thanks guys :)
Được rồi cảm ơn. Làm thế nào tôi sẽ xác định nó như là một đối tượng? Đây có phải là datatype: json? – JamesG
Không, bạn không cần phải thay đổi 'dataType' của bạn - đó là một gợi ý cho jQuery như thế nào nó sẽ giải thích phản ứng của bạn. Dữ liệu mà nó gửi theo mặc định được tuần tự hóa dưới dạng dữ liệu bài đăng, ví dụ: 'code = 17 & userid = 42'. Bạn chỉ cần thay đổi chuỗi dữ liệu của bạn thành những gì tôi đã viết ở trên và nó sẽ hoạt động. –
Ok điều đó có ý nghĩa ... nhưng tại sao woiuld bạn muốn đặt kiểu dữ liệu của bạn thành JSON? Để đọc bằng JSON cụ thể? – JamesG