Javascript jQuery自动完成未在$.ajax中找到$(此)

Javascript jQuery自动完成未在$.ajax中找到$(此),javascript,jquery,ajax,asp.net-mvc,razor-2,Javascript,Jquery,Ajax,Asp.net Mvc,Razor 2,我有一个MVC应用程序,它使用自动完成as in链接。然后,为了能够格式化显示,我传递了一个包含以下JSON模式的复杂JSON对象: { "name": "searchResults", "properties": { "Id": { "type": "number", "description": "Table.ID, maps to value", "required": true

我有一个MVC应用程序,它使用自动完成as in链接。然后,为了能够格式化显示,我传递了一个包含以下JSON模式的复杂JSON对象:

{
   "name": "searchResults",
   "properties": {
        "Id": {
            "type": "number",
            "description": "Table.ID, maps to value",
            "required": true
        },
        "Name": {
            "type": "string",
            "description": "Display name, maps to label",
            "required": true
        },
        "Type": {
            "type": "number",
            "description": "Table selector (enum)",
            "required": true
        }
   }
}

问题是我不能在
$.ajax
函数中使用
$(this)
。我尝试使用上下文,但它不起作用。我一直在ajax函数
中接收到“SyntaxError:Unexpected token,这不起作用,因为它对元素的引用没有作用域

在发出ajax请求之前,需要存储此文件的副本:

var url =  $(this).data('autocomplete-url');
在ajax调用中使用该变量:

url:url

在每个
循环中使用闭包变量,或使用内部
回调方法获取元素:

url: $(this.element).data('autocomplete-url'),

问题不在于ajax方法,而在于源代码回调方法,其中
这个
不是指元素,而是指插件本身,所以使用设置为
这个
的上下文选项不应该起作用。AFAIKAs@A.Wolff说,
上下文
不起作用。但使用变量确实起作用。
url:url
url: $(this.element).data('autocomplete-url'),