JQuery无效的参数帖子

时间:2010-07-09 07:43:48

标签: jquery

我有这段代码:

<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

2 个答案:

答案 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..