2015-02-23 178 views
1

我尝试从另一台服务器的.txt文件中获取一个字符串。

当我运行的要求,控制台显示我这个错误:

“意外令牌/” 的/是一个占位符,错误包含服务器上字符串的第一个字母。

我的代码:

var url = "http://r0bs.net/ihdccjsonapi.php?url="+encodeURIComponent(content); 
$http.get(url) 
    .success(function (data) { 
    console.log(data); 
    }) 

当您导航手册,网址,您看到这一点:

FAMILIE。 Beruf。 FREIZEIT。 Egal,是Sie vorhaben,mit dem Golf Variant machen Sie immer eine sportliche Figur。 Entdecken Sie das Autofüreinen aktiven Lebensstil。

此URL错误是“意外的标记F”

我不能在这里文章的网址,我希望你能帮助我。

Varha

+0

你有没有访问服务器上的代码,如果是的话显示它是如何处理请求?在哪个控制台上可以看到错误,客户端或服务器端?什么是你的文本文件的编码,你是否阅读正确的编码?显示encodeURIComponent(content)的结果。 – 2015-02-23 14:34:59

+0

@UlukBiy我可以访问并阅读JSON和图片,纯文本 – Varha 2015-02-23 14:41:52

+0

您是否尝试将文本/纯文本添加到$ httpProvider.defaults.headers.common? – lborgav 2015-02-23 15:20:41

回答

4

问题是您从服务器返回的无效JSON。我刚刚遇到了同样的问题。

综观角的来源,我发现在@module纳克toJSONfromJSON函数试图JSON.parse()给定值,如果它是一个字符串,而你的情况似乎是真实的。

它应该可以通过序列化数据服务器端轻松解决,所以Angular可以毫无问题地解析它。

祝你好运。

+0

我之前试过这个......没有任何变化:( – Varha 2015-03-02 15:11:40

+0

)你如何返回值?向我们展示服务器的响应 – kuka 2015-03-02 16:34:27

+0

'SyntaxError:意外的令牌E 在Object.parse(native) at fromJson (http:// localhost:9000/bower_components/angular/angular.js:1065:14) at httpHttpResponseTransform(http:// localhost:9000/bower_components/angular/angular.js:8579:16) at http: /localhost:9000/bower_components/angular/angular.js:8664:12 ' – Varha 2015-03-04 16:46:23

8


您可以尝试在$ http请求中设置一个神奇的“transformResponse”属性。
下面是一个例子:

$http({ 
    method: 'POST', 
    url: '/some/url', 
    data: {}, 
    transformResponse: function (data, headersGetter, status) { 
     //This was implemented since the REST service is returning a plain/text response 
     //and angularJS $http module can't parse the response like that. 
     return {data: data}; 
    } 
}).success(function() { 
    //Some success function 
}).error(function() { 
    //Some error function 
}); 

可以肯定的,你可以随时修改的响应,你需要它。 :)

干杯!

+0

真棒..非常好的解决方案。它拯救了我的一天。 – 2016-03-29 16:30:26

+0

这是解决方案。应该被接受为答案 – 2016-10-06 06:09:24

相关问题