Jquery ajax 调用webservice问题

l258775875 2012-09-29 09:14:57
我在解决方案中建了2个网站,一个是建服务的,一个是调用服务的,服务建好后运行没有问题,在ie中也能调用,但是在另一个网站中调用就没有反应,也不报错,好像就没有调用过服务。我的调用服务代码如下:

<script type="text/javascript">

$(function () {

$("#btnOK").click(function () {

var id = $("#txtInput").val();

$.ajax({

type: "POST",

contentType: "application/json;charset=utf-8",

url: "http://localhost:1475/WS/WebService.asmx/GetBookById",

data: "{id:'" + id + "'}",

dataType: 'json',

success: function (result) {

$("#bookId").html(result.Id);

alert(result.Id)

$("#bookTitle").html(result.Title);

$("#bookAuthor").html(result.Author);

$("#bookPrice").html(result.Price);

}

});

});

})

</script>

哪位高手帮忙解答一下,感激不尽!
...全文
164 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐乔巴 2012-10-01
  • 打赏
  • 举报
回复
应该是跨域问题 可以看看
深入浅出JSONP--解决ajax跨域问题
孟子E章 2012-09-30
  • 打赏
  • 举报
回复
注意不能跨域,端口,域名要一致
宏尘 2012-09-30
  • 打赏
  • 举报
回复
url: "http://localhost:1475/WS/WebService.asmx/GetBookById"
是不是那个“http://locahost:1475"这个路径不正确哈。本地调试阶段在IE下可以运地,但是调试器关了或者发布到服务器上,这个本地路径访问方式可是要不得的哦,
l258775875 2012-09-29
  • 打赏
  • 举报
回复
ie中就是把服务运行起来时输入一个参数能取出数据来,但是在前台运行点击就没反应,服务代码是这样的:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {

public WebService () {

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

[WebMethod]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
public Book GetBookById(int id)
{

string cnn = "Data Source=.;Initial Catalog=MyBookShop;Persist Security Info=True;User ID=sa;Password=123456";
SqlConnection connection = new SqlConnection(cnn);
Book book = new Book();
string sql = "select * from Books where Id=@Id";
SqlCommand cmd = new SqlCommand(sql, connection);
connection.Open();
cmd.Parameters.Add("@Id", SqlDbType.Int).Value = id;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
book.Id = (int)reader["Id"];
book.Title = reader["Title"] as string;
book.Author = reader["Author"] as string;
book.UnitPrice = reader["UnitPrice"] as string;
}
reader.Close();
connection.Close();
return book;
}
}
licai1210 2012-09-29
  • 打赏
  • 举报
回复
跨域了吧
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
我在解决方案中建了2个网站,一个是建服务的,一个是调用服务的,服务建好后运行没有问题,在ie中也能调用,但是[/Quote]

既然在ie中调用没有问题,请贴出在ie中调用它的代码来。

62,046

社区成员

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

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

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

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