我在一个应该调用 Web 服务的 HTML 页面上运行 Ajax,而 ajax 调用在我不相信它甚至根本不会访问 Web 服务的地方不起作用。
这是问题所在:当我单击按钮时,我收到 textStatus 错误,而 errorThrown 则没有。本地主机在我的 VS 2013 IDE 中运行,带有断点,并且永远不会到达那里。该项目的性质决定了我使用 HTML 页面和 JQuery 将收集到的数据传递给 Web 服务以管理数据。但是,它好像从未运行过,我能找到的每个参考资料都说这段代码是正确的。我关心的两件事是使用 JSON 来提供数据合约的参数。如果没有将其转换为数据合同类,这将如何工作。我也尝试了很多方法来传递 JSON,但似乎没有一个能改变我的命运。如果我可以生成一个错误来调试,那至少会帮助我指出正确的方向,但我得到了 nada... 问题是我 我已经尝试使用一个将操作设置为 ashx 页面的表单来执行此过程,并且可以正常工作,但这似乎更像是一种 hack,因为我必须停止一些东西才能返回调用的 html 页面来说明您的数据已提交。另外,我认为 Jquery Ajax 是一种更简洁、更优雅的解决方案。此 Web 服务中有几种方法已经可以让其他项目接受和管理他们的数据,我想扩展它以包含 html 页面数据......谁能看到我在哪里出错了?提前非常感谢...在过去的两天里,我一直被这个难住,我必须继续前进。我认为 Jquery Ajax 是一个更干净更优雅的解决方案。此 Web 服务中有几种方法已经可以让其他项目接受和管理他们的数据,我想扩展它以包含 html 页面数据......谁能看到我在哪里出错了?提前非常感谢...在过去的两天里,我一直被这个难住,我必须继续前进。我认为 Jquery Ajax 是一个更干净更优雅的解决方案。此 Web 服务中有几种方法已经可以让其他项目接受和管理他们的数据,我想扩展它以包含 html 页面数据......谁能看到我在哪里出错了?提前非常感谢...在过去的两天里,我一直被这个难住,我必须继续前进。
代码如下:
$(document).ready(function () {
// alert("running inside");
var webServiceURL = 'http://localhost:50350/DBMgr.svc/updateData';
var data = "{FirstName:'name',LastName:'surname'}";
alert(data);
$("input[id='btnSubmitLead']").click(function () {
$.ajax({
type: "POST",
url: webServiceURL,
data: data,
dataType: "json",
success: function (results) {
alert("Your information has been sent, thank you... ");
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus +"-"+ errorThrown);
alert("Your information has not been sent ");
}
});
});
我的 WCF 服务:
public LeadData updateData(LeadData loadData)
{
LeadData updateok = new LeadData();
if (loadData.FirstName.Length > 0)
{
updateok.FirstName = "It has";
updateok.LastName = "Been found";
}
else
{
updateok.FirstName = "Name";
updateok.LastName = "Not Found";
}
return updateok;
}
声明是:
[OperationContract]
[WebInvoke(Method="POST", RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)]
LeadData updateData(LeadData loadData);
[DataContract]
public class LeadData
{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
}
哦,是的,HTML 包括以下内容:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type=""></script>