var curr = $(this)
var id_list = curr.attr('id').split('$$')
var id0 = id_list[0];
var id1 = id_list[1];
var action = curr.text() //还可以从html文本中获取参数信息、
var status_tag = curr.parent().siblings(".join_team_status").first(); //获取上级标签的方法
$.ajax(
{
url:'home/',
type: "post",
data:{ "type":"join_team_reply",
"id1":"id1" },
dataType :"json"
success: function(data)
{
if (data.result == 0)
{
curr.text('Pending');
curr.removeAttr("id");//下次点击不再有反应
curr.removeAttr("class");//同上
} else
{
alert("In team already");
}
}
}
);
//django中 if request.is_ajax() and request.method == 'POST' :
#django中函数post返回值的写法
result = 0
return HttpResponse(json.dumps({'result':result}),content_type='application/json')
html中标签的技巧
<td class="" > </td>
<i class="" > </i>
#django render html批量传參的技巧 (字典、列表的嵌套)
d_list=[]
d = {}
attr_list = []
attr_list.append({'left':'hahaha1', 'right':'xixixi1'})
attr_list.append({'left':'hahaha2', 'right':'xixixi2'})
d['attr_list']=attr_list
d_list.append(d)
//下拉框方法 默认值方法
<select class="bar0 ef" id="match_select">
{% for match in match_list %}
<option value="{{match.id}}"> {{ match.match_name }} </option>
<option value="公里">公里</option>
<option value="米" selected="selected">米</option>
<option value="厘米">厘米</option>
{% endfor %}
</select>
//还有文档操作的技巧 重点是发送一个post之后回调函数的写法
<p>$.post(
window.location.pathname,
{
"operation_type" : "get_event_list",
"sport_id" : $("#sport_select").first().val(),
"match_id" : $("#match_select").first().val()
},
function(data, status) {
$("#event_select").first().empty();
$.each(data.event_list, function(n, value) {
$("#event_select").first().append("<option value='" + value.id + "'>" + value.event_name + "</option>");
});
}
);
</p>//对应的data的形式为
event_list_p = []
for event in event_list :
d = {}
d["id"] = str(event.id)
d["event_name"] = event.event_name
event_list_p.append(d)
return HttpResponse(
json.dumps({
"event_list" : list(event_list_p)
}),
content_type = "application/json"
)
小结:传的参数都是列表中套字典,地点中的对象还可以是列表(render的时候)
其实json就是一个包含字典的列表。
传json的时候json.dumps({"event_list:list(event_list_p)"})
<pre name="code" class="javascript"><pre name="code" class="javascript">//求js动态改变post内容的方法(或许也可以用贴标签的方法解决)
//改变post或者是改变ajax的内容
//可以尝试对$.ajax中的data内容进行修改,data就是一个简单的dict吗?<p>//问题解决! 对词典动态复制发现一个很厉害的函数:eval()</p><p>data = {}</p><p>key = 'key'</p><p>value = 'value'</p><p>eval('data.'+key+'='+value)
</p>