HTML5页面没有制作JQuery Ajax请求

时间:2013-09-22 09:26:47

标签: jquery ajax html5 wcf

我在一个HTML页面上运行Ajax,该页面应该调用Web服务,并且ajax调用不起作用,我根本不相信它甚至会进入Web服务。

问题在于:当我单击按钮时,我收到textStatus的错误,而没有错误提示。本地主机在我的VS 2013 IDE中运行,带有断点,它永远不会到达那里。项目的性质决定了我使用HTML页面和JQuery将收集的数据传递给Web服务以管理数据。但是,它好像它从未运行,我能找到的每个参考都说这段代码是正确的。我关心的两件事是使用JSON来提供数据契约的参数。如果没有将它转换为数据协定类的话,它是如何工作的。我也尝试了很多方法来传递JSON,似乎没有任何方法可以改变我的命运。如果我可以生成一个错误来调试,那至少会帮助我指出正确的方向,但是我得到了nada ......事情是我尝试过这个过程使用一个动作设置为ashx页面的表单工作,但这似乎更像是一个黑客,因为我将不得不刷回一些东西回到调用html页面说你的数据已经提交。另外,我认为Jquery Ajax是一种更清洁,更优雅的解决方案。这个Web服务中有几种方法已经可以用于其他项目接受和管理他们的数据,我想扩展它以包含html页面数据......谁能看到我在哪里出错?非常感谢...我在过去的2天里一直被这个问题困住了,我不得不继续前进。

代码如下:

    $(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>

1 个答案:

答案 0 :(得分:0)

也许是因为你的HTML5应用和wcf服务的域名不一样。试试jsonp: What is JSONP all about? 希望可以帮到你。