我有以下代码:
$.ajax({
url: modal.href,
dataType: 'json',
type: 'POST',
data: modal.$form.serializeArray()
})
.done(onSubmitDone)
.fail(onSubmitFail);
TypeScript指向$ .ajax,并显示一条消息:
提供的参数与呼叫目标的任何签名都不匹配。
然而,从我可以看到我的$ .ajax是正确的,我正确引用jQuery定义。任何人都可以建议可能出错的地方吗?
答案 0 :(得分:4)
参考jquery.d.ts:
ajax(url: string, settings: JQueryAjaxSettings);
这是ajax函数的签名。您应该将url移出settings对象并作为参数传入,而不是要接受typescript。或者编辑jquery.d.ts定义以仅接受设置函数调用。
答案 1 :(得分:3)
虽然最初的jQuery定义不包含没有Url的重载,但它们已经更新,您可以从CodePlex获取最新版本: http://typescript.codeplex.com/SourceControl/BrowseLatest
上最新更新的jQuery定义的镜像