Typescript 传递函数的类型脚本语法

Typescript 传递函数的类型脚本语法,typescript,Typescript,我正在调用一个Typescript函数,将字符串和函数作为参数传递给它。但我有一个错误,可能是因为语法错误 呼叫代码: send( { num: value, file: fileData }, function(responseData){ alert('Successfully uploaded : ' + responseD

我正在调用一个Typescript函数,将字符串和函数作为参数传递给它。但我有一个错误,可能是因为语法错误

呼叫代码:

send(
            {
                num: value,
                file: fileData
            },
            function(responseData){
                alert('Successfully uploaded : ' + responseData + " and received ");
            }
        );
被调用函数:

function send(data : String, success: Function){
    $.ajax({
        type: 'POST',
        data: JSON.stringify(data),
        contentType: 'application/json',
        url: '/testData',
        success: function (responseData) {
            return JSON.parse(responseData);
            success(responseData);
        },
        error: function(error){
            return null;
        }
    });
}
错误:

C:/Users/Me/AppData/Roaming/npm/tsc.cmd --sourcemap Start.ts --module commonjs --out main.js
C:/Users/Me/WebstormProjects/Core/public/javascripts/Start.ts(54,9): error TS2082: Supplied parameters do not match any signature of call target:
    Type '{ num: any; file: any; }' is missing property 'charAt' from type 'String'.
C:/Users/Me/WebstormProjects/Core/public/javascripts/Start.ts(54,9): error TS2087: Could not select overload for 'call' expression.

没有语法错误。错误消息说明了一切:您传递的对象(作为第一个参数)的类型不正确。(函数需要一个字符串。)

我应该提供什么数据类型来传递JSON。将传递的数据视为正确的、类型和定义不正确的。将方法签名更改为函数发送(数据:任何,成功:函数){