0

我花了几天时间试图解决这个问题,但没有办法。

我想从我用 senchatouch 2.0 创建的 web 应用程序向我在 java 中创建的宁静 web 服务发出请求。我研究了它以提出跨域请求,唯一的选择是使用“Ext.data.JsonP.request ”。我已经采取了这个代码示例

Ext.data.JsonP.request({
        url: 'http://free.worldweatheronline.com/feed/weather.ashx',
        callbackKey: 'callback',
        params: {
            key: '23f6a0ab24185952101705',
            q: '94301', // Palo Alto
            format: 'json',
            num_of_days: 5
        },
        callback: function( data ) { console.log("callback" + data);},
        success: function(result, request) {
           console.log("success");
           var weather = result.data.weather;
           this.respuesta = 'The temperature in Palo Alto is <b>' + weather[0].tempMaxF + '° F</b>';
           return 'The temperature in Palo Alto is <b>' + weather[0].tempMaxF + '° F</b>';
        },
        failure: function(response) {
            console.log("failure");
            var json = Ext.decode(response.responseText);
            return 'fail';
        }

    });

这很完美。现在我需要连接到我用 java (JAX-RS) 创建的 RESTful web 服务。这是我的方法:

@GET
@Produces("application/json")
public String getJson(@QueryParam("texto") String cadenaTxt) {
    System.out.println(" -----request in getJson:"+ cadenaTxt + "-----");
    String json1 = "{'name:'George Koch', 'age':58}";
    String jsonPoutput = "callback("+ json1 + ");";
    return jsonPoutput;
}

发出 Web 服务请求的 JavaScript 代码是:

Ext.data.JsonP.request({
        url: 'http://localhost:8080/proxySimplext/webresources/simplificar',
        callbackKey: 'callback',
        params: {
            format: 'json',
            texto: 'texto que envio'
        },
        callback: function( data ) { 
            console.log("callback" + data);
        },
        success: function(result, request) {
           console.log("success");
           return 'Sucesss';
        },
        failure: function(response) {
            console.log("failure");
            var json = Ext.decode(response.responseText);
            console.log('Fallo de conexion:' + json);
            return 'failure';
        }

    });

不工作。

请求到达 Web 服务,但跳过JavaScript 代码中的超时。我尝试了很多解决方案,但没有办法解决它。

控制台上的响应是:

Uncaught SyntaxError: Unexpected identifier 
failure Utils.js:105
Fallo de conexion:undefined

会发生什么?欢迎任何想法给我

非常感谢!!

4

0 回答 0