Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript webservice调用第二次失败-backbone.js_Javascript_Backbone.js - Fatal编程技术网

Javascript webservice调用第二次失败-backbone.js

Javascript webservice调用第二次失败-backbone.js,javascript,backbone.js,Javascript,Backbone.js,这有点奇怪,第一次调用webservice调用时,但从第二次开始,我就遇到了这个奇怪的错误 this.save(requestObject, { success: function (response) { callback(response.toJSON()); }, error: function (res, result, xhr) { } }); 我第一次收到回调,为什么第二次就失败了?下面是错误日志 HTTP Error (org.

这有点奇怪,第一次调用webservice调用时,但从第二次开始,我就遇到了这个奇怪的错误

this.save(requestObject, {
    success: function (response) {
        callback(response.toJSON());
    },

    error: function (res, result, xhr) {

    }
});
我第一次收到回调,为什么第二次就失败了?下面是错误日志

HTTP Error (org.apache.http.client.HttpResponseException): 596
    [ERROR][TiHttpClient(  478)] org.apache.http.client.HttpResponseException: 596
    [ERROR][TiHttpClient(  478)]    at ti.modules.titanium.network.TiHTTPClient$LocalResponseHandler.handleResponse(TiHTTPClient.java:240)
    [ERROR][TiHttpClient(  478)]    at ti.modules.titanium.network.TiHTTPClient$LocalResponseHandler.handleResponse(TiHTTPClient.java:199)
    [ERROR][TiHttpClient(  478)]    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:657)
    [ERROR][TiHttpClient(  478)]    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:637)
    [ERROR][TiHttpClient(  478)]    at ti.modules.titanium.network.TiHTTPClient$ClientRunnable.run(TiHTTPClient.java:1217)
    [ERROR][TiHttpClient(  478)]    at java.lang.Thread.run(Thread.java:1020)
    [ERROR][V8Exception(  478)] Exception occurred at undefined:1: Uncaught SyntaxError: Unexpected token <
HTTP错误(org.apache.HTTP.client.HttpResponseException):596 [错误][TiHttpClient(478)]org.apache.http.client.HttpResponseException:596 位于ti.modules.tianium.network.TiHttpClient$LocalResponseHandler.handleResponse(TiHttpClient.java:240)的[ERROR][TiHttpClient(478)] 位于ti.modules.tianium.network.TiHttpClient$LocalResponseHandler.handleResponse(TiHttpClient.java:199)的[ERROR][TiHttpClient(478)] org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:657)上的[ERROR][TiHttpClient(478)] org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:637)上的[ERROR][TiHttpClient(478)] 位于ti.modules.tianium.network.TiHttpClient$ClientRunnable.run(TiHttpClient.java:1217)的[ERROR][TiHttpClient(478)] java.lang.Thread.run(Thread.java:1020)中的[ERROR][TiHttpClient(478)] [错误][V8Exception(478)]在未定义的位置发生异常:1:未捕获的语法错误:意外标记<
当您第一次运行
保存时,客户端将向服务器发送什么?POST请求还是PUT请求?第二次,客户机请求是更改还是相同

这可能有助于您识别问题。主干
save
方法委托给
Backbone.sync
方法,该方法决定它应该发出的请求类型。例如,如果模型是新的,则使用
isNew()
model方法,
sync
发出POST(因为必须在服务器上保存新模型)请求,如果模型已经存在,则发出PUT请求(模型更新)。有关
sync
方法的更多信息,请访问

您从服务器获得的错误可能正在发生,因为它不知道如何响应此请求之一。也许值得一看。

:

如果模型是新的,则保存为“创建”(HTTP POST),如果服务器上已经存在该模型,则保存为“更新”(HTTP PUT)。

所以基本上第一个请求是POST请求,之后所有其他请求都是PUT请求。由于服务器端脚本似乎具有处理PUT请求的设置,因此您可能希望使用如下设置:

Backbone.emulateHTTP = true

问题可能出在服务器端。您确定第一次调用不会产生副作用,导致后续调用失败吗?@Y\uuu:我们如何检查第一次调用没有产生任何影响。在第一次和第二次调用中,您能否跟踪从服务器到客户端的响应?如果没有来自服务器端的任何代码,就很难判断。@Y\uuuu:第二次它甚至没有进入onLoad调用。。。我是指成功调用。是的,但我的意思是,问题代码似乎不是您发布的
JavaScript
部分,而是服务器端的
Java
代码。至少有例外。这个问题可以帮助你吗?