我遇到错误未捕获的TypeError:无法读取未定义的属性'toLowerCase'

时间:2018-09-25 12:38:11

标签: javascript asp.net ajax

error

Uncaught TypeError: Cannot read property 'toLowerCase' of undefined (jquery.min.js:2)
at w.fn.init.val (jquery.min.js:2)
at Object.error (Default.aspx:380)
at u (jquery.min.js:2)
at Object.fireWith [as rejectWith] (jquery.min.js:2)
at k (jquery.min.js:2)
at XMLHttpRequest.<anonymous> (jquery.min.js:2)

你好,这是我的错误。我在网上搜索,但其他已解决的问题与我的代码不同。

我的代码:

$(".selectProjectElement").change(function () {
            $.ajax({
                method: "POST",
                url: "Default.aspx/affectProject",
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                data: "{ id:" + $(this).parent().parent().attr("data-id") + ", elementCode:'" + $(this).val() + "', userID:'" + $("#hidden_userID").val() + "' }",
                success: function () {
                    alert("reussi");
                },
                error: function (xhr) {
                    alert("F" + $(this).val() + "F");
                    //alert("Une erreur est survenue.");
                    window.location.pathname = window.location.pathname;
                }
            });
        });

我不知道为什么会有这个错误,也没有找到解决方法。你有主意吗?谢谢你。

对不起,我的英语。

1 个答案:

答案 0 :(得分:1)

您的数据行有误。

它要么必须是:

data: '{ "id": "' + $(this).parent().parent().attr("data-id") + '", "elementCode":"' + $(this).val() + '", "userID": "' + $("#hidden_userID").val() + '"}',

或:

data: { "id": $(this).parent().parent().attr("data-id"), "elementCode": $(this).val(), "userID": $("#hidden_userID").val()},

我个人会使用外部变量

$(".selectProjectElement").change(function () {
  var data = { 
    id: $(this).parent().parent().attr("data-id"),
    elementCode: $(this).val(),
    userID: $("#hidden_userID").val()
  }
  $.ajax({
    ...
    data: JSON.stringify(data),
    ...
  });
});