【问题标题】:RESTFul web service from html on IOSIOS 上来自 html 的 RESTFul Web 服务
【发布时间】:2013-10-09 20:53:28
【问题描述】:

以下是我使用过的技术: HTML 5、JS、JQuery、AJAX、RESTFul POST 网络服务、IOS

问题陈述:

我创建了一个 iOS 原生应用程序,并在我的应用程序中放置了某些 HTML 和 JS 文件。在模拟器上启动应用程序时,我在 Web 视图中打开我的 HTML 文件,然后单击一个按钮,我点击了一个部署在本地 Windows 机器上的 Web 服务。

但是,我无法访问我的网络服务。我能够从 Android 模拟器和本地客户端测试程序执行相同的活动。

请求您帮我解决这个问题。

下面是命中服务的 AJAX 代码:

var jsonObject  = new Object();
jsonObject.passengers= 4;
jsonObject.country= "India";
jsonObject.state= "Maharashtra";

var url = "http://<HOST>:<POST>/JerseyTest/services/emanual/demo";
    $.ajax({
    url: url,
    type: "post",
    data: inputJsonString,
    success: function(data, status){
            alert("success");
            alert("In Success: " + JSON.stringify(status));
            alert("In Success: " + JSON.stringify(data));
            //$("#result").html('Submitted successfully');
    },
    error:function(data, status){
            alert("failure");
            alert("In Error: " + JSON.stringify(status));
            alert("In Error: " + JSON.stringify(data));
            //$("#result").html('There is error while submit');
    }
    });

此代码适用于独立的 HTML 文件,来自 Android 模拟器。 我需要在 iOS 机器或模拟器上做任何额外的配置吗? 非常感谢任何帮助。

问候, 维内特

【问题讨论】:

    标签: ios html rest post ios-simulator


    【解决方案1】:

    通过将alert("jQuery is loaded") 放入其中来确保已加载 jQuery

    $(function(){
        alert("jQuery is loaded")
    });
    

    如果未加载 jQuery,请检查 XCode 中的 jQuery 源文件是否位于项目 Target 的 Build Phases 选项卡下的 Compile Sources 中。如果是,请将其删除并将其添加到 Copy Bundle Resources。

    另外,尝试像这样格式化 AJAX,

    $.ajax({
        url:url,
        type: 'post',
        beforeSend: function(xhr, status, error){
            xhr.overrideMimeType("application/json; charset=UTF-8");
        },
        data: {key: "value"},
        error: function(data) {
            alert("Error");
            console.log("Error");
        },
        success: function(data, textStatus, jqXHR) {
            alert("Success");
        }
    });
    

    【讨论】:

      【解决方案2】:

      听起来像是 CORS 问题。确保您的 REST 服务标头包括:

      Access-Control-Allow-Origin: *
      Access-Control-Allow-Methods: POST, GET, OPTIONS
      Access-Control-Allow-Credentials: true
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-01
        • 1970-01-01
        • 2011-09-02
        • 1970-01-01
        • 1970-01-01
        • 2010-11-19
        • 2011-12-20
        • 1970-01-01
        相关资源
        最近更新 更多