我有这段代码:
<script type="text/javascript">
var loader = "#loader";
$(function() {
$("#selUsers").change(function() {
if ($(this).val() != "") {
$(loader).show();
$.ajax({
type: "POST",
url: "",
data: {
userID: $(this).val()
},
success: function(msg) {
$("#Firstname").val(msg[0].Firstname || "");
$("#Surname").val(msg[0].Surname || "");
$("#Email").val(msg[0].Email || "");
$("#Phone").val(msg[0].Phone || "");
$("#Mobile").val(msg[0].Mobile || "");
$("#Address").val(msg[0].Address || "");
$("#Zipcode").val(msg[0].Zipcode || "");
$("#City").val(msg[0].City || "");
$(loader).hide();
},
error: function() {
$(loader).hide()
}
});
} else {
$(":input[type=text]").val("");
$("#BookingNotes").val("");
}
});
});
</script>
我已将这些包括在内:
<script src="/Scripts/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.custom.min.js" type="text/javascript"></script>
我得到无效的参数....无法看到那些行,因为第127行只是一个html标签..
我记得之前有过这样的工作,也许我已经包含了错误的javascript?
你们有什么线索可能有什么问题吗?
/ M
答案 0 :(得分:1)
data: { userID : $(this).val() }, // $(this) refers to $ object...
应该像
$("#selUsers").change(function() {
var userID = $(this).val();
if($(this).val() != "")
{
$(loader).show();
//...............
//..............
data: { userID : userID },
答案 1 :(得分:0)
您还可以在将数据对象传递给ajax函数之前尝试声明它。通过这种方式,ajax将只接收已经完成的数据对象。这增加了可读性,但这只是我的观点。
//define the object and create the needed nodes before the ajax call
var data = {};
data.userID = $(this).val();
$.ajax({
type: "POST",
url: "",
data: data, //just pass the whole already complete object
success: function(msg) {
and so on..