Jquery ajax自动完成调用数据的方法

本文关键字:调用 数据 方法 ajax Jquery | 更新日期: 2023-09-27 18:15:26

$(function () {
        $("#tbNominalAccounts").autocomplete({
            source: function (request, response){
                $.ajax({
                url: "TestPage3.aspx/GetUserNominalAccounts",
                type:"POST",
                datatype:"json",
                data :{ searchText : request.term},
                success: function(data) 
                {
                    response(
                        $.map(data, function(item)
                    {
                        return { label: item.NominalAccount, value:item.NominalAccount, id:item.NominalAccount}
                    }))
                }
            })
            }
        });
    });

添加断点,它击中ajax调用,但当我把一个断点上的方法GetUserNominalAccounts它甚至没有达到它!!你知道为什么不发吗?

我有一个文本框的ID为#tbNominalAccounts只是背景信息

Jquery ajax自动完成调用数据的方法

像这样重新格式化数据:

pString = '{"searchText":"' + request.term + '"}';
    $.ajax({
        data: pString,
...

和你的服务器端代码应该被适当地"修饰"以允许页面访问

我想我会从使用asp.net的工作示例中添加一些代码:您可能需要这个转换器来通用处理asp.net数据:

dataType: "jsond",
type: "POST",
contentType: "application/json",
converters: {
    "json jsond": function(msg)
    {
        return msg.hasOwnProperty('d') ? msg.d : msg;
    }
},

编辑:对于返回值的使用:

focus: function(event, ui)
{
  return false; // return "true" will put the value (label) from the selection in the field used to type
},

尝试在ajaxRequest中添加一个contentType:

contentType: "application/json; charset=utf-8",

我注意到,当使用jQuery Ajax默认的内容类型application/x-www-form-urlencoded不能很好地工作。