【发布时间】:2016-02-14 11:54:58
【问题描述】:
第一次使用 jsonp。
已经尝试了 2 天,现在尝试了很多不同的东西。
我有一个网络服务器 A,它对网络服务器 B 进行 ajax 调用。
Web Server B 上的 api 控制器方法是:
[HttpGet]
[HttpPost]
[Route("LoginRequest")]
public JsonpResult LoginRequest([FromUri]Login login)
{
JsonpResult result = new JsonpResult("hello");
return result;
}
我的 jquery/ajax 是:
window.myCallback = function (data) {
console.log('ok');
};
var LogIn = {
Email: $("#txtEmail").val(),
MobileNo: $("#txtMobileNumber").val(),
PinCode: '',
Message: '',
Success: false
};
$.ajax({
type: "POST",
crossDomain: true,
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: myCallback,
url: "https://web Server B/api/LoginRequest",
data: LogIn,
success: function (data) {
alert('Success');
toggleControls(false);
},
error: function (jqXHR, textStatus, errorThrown) {
alert('fail');
}
设置断点是这样的:
ajax 调用
后面的代码被命中
c#中创建的jsonp对象上的手表图片:
js回调被命中(数据未定义)
返回的 jsonp 对象现在在 c# 结束时命中
ajax 中的错误处理程序被错误调用:
Uncaught SyntaxError: Unexpected token :
【问题讨论】: