我正在使用 1. Joomla 3.4.4 2. Virtuamart 3.0.9
我希望使用Virtuamart中产品子布局的发送数据,并使用ajax将数据发送到控制器。
var url = "?";
jQuery(document).ready(function() {
jQuery( ".wishlist-btn" ).click(function() {
var productid = this.id;
var userid = jQuery('input#user_id').val();
var fav = {
Productid: productid,
Userid:userid
}
jQuery.ajax({
url: url,
type: "POST",
data: { json: JSON.stringify(fav) },
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function(data) {
alert(data);
}
});
});
但我不知道应该在哪里编写PHP代码,以及我的AJAX请求中的URL是什么。 我想发送个人资料ID和用户ID,以便在愿望清单的数据库中添加。 我在
中创建了一个PHP文件com_virtuamar /控制器/ ajax.php
$json = $_POST['json'];
$person = json_encode($json);
echo $person->Userid;
和我使用的AJAX请求中的URL
/components/com_virtuemart/controllers/ajax.php
但是我认为控制器中的地址和用法完全不正确,而且我也不知道为什么userid没有返回
答案 0 :(得分:1)
您的Ajax请求中出错。要发送到PHP文件,请删除data: { json: JSON.stringify(fav) }
并替换为:
jQuery.ajax({
url: url,
type: "POST",
data: JSON.stringify(fav),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function(data) {
alert(data);
}
});
并在你的php文件替换:
$person = json_encode($json);
通过
$person = json_decode($json);
如果您想直接访问Joomla会话以获取ID或密码用户,您可以检查
JFactory::getUser();