jQuery调WebService遇到一个奇怪的问题

vagile 2011-09-29 07:57:14
这是我JavaScript的代码

/// <reference path="jquery-1.4.1.js" />
$(document).ready(function () {
var Referrer = document.referrer;
$.ajax({
type: "post",
contentType: "application/json",
dataType: "json",
data: '{"Referrer":"' + Referrer + '"}',
url: "ReferrerService.asmx/SendReferrer",
success: function (result) {
alert(result.d);
//alert(Referrer);
}
})
})

下面是我WebService的代码

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class ReferrerService : System.Web.Services.WebService
{

public ReferrerService()
{

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}

[WebMethod(EnableSession = true)]
public string SendReferrer(String Referrer)
{
Uri uri = new Uri(Referrer);
Session["Referrer"] = uri.Host;
return Session["Referrer"].ToString();
}
}

现在问题很奇怪 我按F5调试的时候alert(result.d)可以弹 就说明调用了 结果也正常
我按右键在浏览器中查看 或者发布到IIS中的时候 就不弹 结果也是null
不知道为什么啊!!!!
各位老师 小生求解啊
PS:页面这个js文件和JQuery的都引用了
...全文
161 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
vagile 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 net_lover 的回复:]

问题可能是
Uri uri = new Uri(Referrer);
这里的Referrer是否是个可以解析的Url?

你可以
public string SendReferrer(String Referrer)
{
return "xxx";
}
进行测试
[/Quote]
正解
谢谢 如果单独return xxx好使了就 谢谢
linus2008117 2011-09-29
  • 打赏
  • 举报
回复
如果他能在IE中以浏览的方式访问 这个方法的话, webservice应该没问题
孟子E章 2011-09-29
  • 打赏
  • 举报
回复
问题可能是
Uri uri = new Uri(Referrer);
这里的Referrer是否是个可以解析的Url?

你可以
public string SendReferrer(String Referrer)
{
return "xxx";
}
进行测试
linus2008117 2011-09-29
  • 打赏
  • 举报
回复
alert(data.responseText);

看下有没有错误的详细信息
vagile 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 linus2008117 的回复:]

$(document).ready(function () {
var Referrer = document.referrer;
$.ajax({
type: "post",
contentType: "application/json",
dataType: "json",
data: '{"Refe……
[/Quote]
按F5调试 时候 是success
其他时候 是error。。。。。
linus2008117 2011-09-29
  • 打赏
  • 举报
回复
$(document).ready(function () {
var Referrer = document.referrer;
$.ajax({
type: "post",
contentType: "application/json",
dataType: "json",
data: '{"Referrer":"' + Referrer + '"}',
url: "ReferrerService.asmx/SendReferrer",
complete: function (data, statusText)
{
alert(statusText);
},
success: function (result) {
alert(result.d);
//alert(Referrer);
}
})
})
vagile 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 linus2008117 的回复:]

ajax 加方法
complete: function (data, statusText)
{
alert(statusText)
}

看下ajax调用返回码是什么
[/Quote]
我不会 你贴个代码好吗?
Gemini Dean 2011-09-29
  • 打赏
  • 举报
回复

顶了
vagile 2011-09-29
  • 打赏
  • 举报
回复
好用
确实好用
真纠结啊!!!!!!!!!!!!!!!!!!!!!!!!
linus2008117 2011-09-29
  • 打赏
  • 举报
回复
ajax 加方法
complete: function (data, statusText)
{
alert(statusText)
}

看下ajax调用返回码是什么
linus2008117 2011-09-29
  • 打赏
  • 举报
回复
错字 浏览的方式
vagile 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 linus2008117 的回复:]

你尝试在ie中直接(流浪的方式)调用webservice的方法,看是否是你预期的结果。
[/Quote]
流浪的方式是什么意思?
就是直接访问WebService么
我试过了 是我想要的结果
linus2008117 2011-09-29
  • 打赏
  • 举报
回复
你尝试在ie中直接(流浪的方式)调用webservice的方法,看是否是你预期的结果。
vagile 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 linus2008117 的回复:]

重新编译下你的项目,看是否是代码未同步
[/Quote]
我编译过很多遍了啊
确确实实是没有问题

按F5 就好用 不按就不好用
并且按F5 在默认浏览器好用 URL拷到火狐 在打开 就又不好了 我都愁了
linus2008117 2011-09-29
  • 打赏
  • 举报
回复
重新编译下你的项目,看是否是代码未同步

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧