【发布时间】:2013-12-28 08:06:58
【问题描述】:
背景:在aspx页面的iFrame控件中加载html页面
问题:我在 html 客户端主体的 onload 到 Web api 服务中有一个 Ajax 调用。服务器上的 GET 方法成功执行,但是当控制返回到客户端时,ajax 调用的错误部分执行,参数有错误作为响应文本.
Ajax 调用:
$.ajax({
url: 'http://localhost:2940/api/wrds2/',
type: "GET",
data: { pOrdKey: OrderKey.toString(), pRptKey: ReportKey.toString(), pGroupKey: GroupKey.toString() },
dataType: "json",
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
success: function (data) {
debugger;
Err_jSonStr = data; <--- Some Variable
_FormData_Assigner(Err_jSonStr); -- Some function
},
error: function (x, y, z) {
debugger;
alert(x.responseText);
}
});
CodeBehind - 网络方法:
public InterviewDFS Get(string pOrdKey, string pRptKey, string pGroupKey)
{
try
{
InterviewDFS lObj_InterviewDFS = null;
if (cObjADO_DAL == null)
cObjADO_DAL = new AdoDotNetDataAccessLayer();
lObj_InterviewDFS = cObjADO_DAL.GetInterviewDFS(pOrdKey, pRptKey, pGroupKey);
return lObj_InterviewDFS;
}
catch (Exception)
{
throw;
}
}
Web api 返回具有正确值的 lObj_InterviewDFS。
请找出可能的错误。
更新:经过一些试验,我发现当客户端页面在不同的项目中并且 web api 是不同的项目时,我会导致问题......!我知道您需要实施 cors,但我完全不知道。请给我解决方案
【问题讨论】:
-
请将您的 ajax 输出也放在这里
-
发布错误消息,并删除调试器警报响应
-
1. x 和 y 变量以文本形式返回错误 2. x 的 ResponceText 属性返回 TEXT 未定义 3. ajax 调用返回客户端后控制台中的消息 ---------- ----------------------------------XMLHttpRequest 无法加载@ 987654321@。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'localhost:52466' 不允许访问
标签: jquery asp.net ajax json asp.net-web-api