如何将数据属性转换为有效的发布(或获取)数据?
$('#nav').find('a').click(function(){
var params = $(this).data();
$.get({
type: "get",
url: "/view/",
data: params
});
})
我收到此错误:
POST http://127.0.0.1/Site1/%5Bobject%20Object%5D/ 404 (NOT FOUND)
答案 0 :(得分:2)
您可以使用jQuery.param(),
$('#nav').find('a').click(function(){
var params = $(this).data();
params = $.param(params);
$.ajax({
type: "GET"
url: "/view/",
data: params
});
})
修改强>
实际上问题是你正在使用像$.get()这样的$.ajax()方法。
$.get()
不接受ajax设置对象。将其更改为$ .ajax(),而不是使用params。
答案 1 :(得分:1)
我认为这应该有效:
$('#nav').find('a').click(function(){
var params = $(this).data();
$.get("/view/",params,function(){
//success callback
});
})
答案 2 :(得分:0)
如果没有看到html,那么回答这个问题就更难了,但尝试这样的事情。 $ .post('yourUrl',{paramName:$(“elementID”)。val(),paramName2:$(“#elementId”)。attr(“data”)},function(data){DoSuccessHere}); < / p>
答案 3 :(得分:-1)
jQuery get
函数为其数据参数获取一个对象,即
$('#nav').find('a').click(function(){
var params = {
param1: 'foo',
param2: 'bar';
}
$.get({
type: 'get',
url: '/view/',
data: params
});
});
您可以通过这种方式从多个数据源分配多个值,例如
var params = {
id: $(this).id(),
name: $(this).attr('name');
}