使用 jquery/ajax 发送另一个变量

Send another variable using jquery/ajax

这是我的代码

 $(function () {
              
               
                $("#txtUserName").autocomplete({
                   
                    source: function (request, response) {
                        $.ajax({
                           

                            url: '/Home/UserNameAutoComplete',
                            data: 
                               
                                "{ 'username': '" + request.term + "'}",

我试过这样做

 data: { term: request.term, agency:$('#txtLastName').val())}
                               

但是它给我一个错误:

<title>Invalid JSON primitive: term.</title>

您报告的错误是由于打字错误:

data: { term: request.tem, agency:$('#txtLastName').val())}

您会看到 request.tem 不存在。你想打电话给 request.term.

假设您的脚本可以接受,您可以执行以下操作。

$(function () {
  $("#txtUserName").autocomplete({
    source: function (request, response) {
      $.ajax({
        url: '/Home/UserNameAutoComplete',
        data: {
          username: request.term,
          agency: $('#txtLastName').val()
        },
        success: function(data){
          response(data);
        }
      });
    }
  });
});

我注意到在您的示例中,您发送的文本字符串:"{ 'username': '" + request.term + "'}" 这有点奇怪。如果这确实是您需要发送的内容,它将类似于:

data: "{ 'username': '" + request.term + "', 'agency': '" + $('#txtLastName').val() + "'}"

我建议测试我的第一个解决方案。