英特尔XDK中的HTTP请求

时间:2015-02-24 17:34:47

标签: http intel-xdk

我之前在2月23日更新之前在英特尔XDK平台上构建了一个应用程序,现在软件已经更新,当我尝试运行模拟器它只是崩溃。

之前我通过以下方式向进程php页面发送了一个get请求以进行登录。

 $(document).ready(function(){
$('form.login').submit(function () {
var user = $(this).find("[name='user']").val();
var pass = $(this).find("[name='pass']").val();
var sublogin = $(this).find("[name='sublogin']").val();

// ...
    $.ajax({
type: "POST",
url: "http://www.domain.com/data/apps/project1/process.php",
data: {
    user : user,
    pass : pass,
    sublogin : sublogin,
},
 success: function(response){                       
        if(response == "1")
                    {

                     $("#responsecontainer").html(response);    

                    window.location.href = "menu.html"; 

                    }
                    // Login failed
                    else
                    {
                         $("#responsecontainer").html(response);  
                    }


        //alert(response);
    }
   });
      this.reset();
        return false;
      });
   });

然而,似乎这是导致问题的代码片段,如果删除此项代码,项目将不再崩溃。

当我阅读英特尔XDK文档时,它只显示调用XML文件的HTTP请求。

所以我希望有人知道为什么会导致这个问题,或者我如何构建它以便英特尔XDK不会崩溃。

2 个答案:

答案 0 :(得分:0)

关于通过模拟器引用的相对位置URL存在回归错误,正在进行修复。这仅与模拟器有关。您的应用程序应该可以在设备上使用App Preview并使用构建版本与测试选项卡一起使用。

答案 1 :(得分:0)

直到我们想出了一个针对模拟器崩溃的修复程序,这是一个解决方法。当您尝试使用window.location.href =“menu.html”更改当前页面的位置时,会出现此问题;并且模拟器无法在ajax调用期间解析相对路径。

请使用以下代码作为解决方法。

var newLocation = 'menu.html'; 
if ( window.tinyHippos ) { 
// special case for emulator
  newLocation = getWebRoot() + newLocation;
}
document.location.href=newLocation;
function getWebRoot() {
    "use strict" ;
    var path = window.location.href ;
    path = path.substring( 0, path.lastIndexOf('/') ) ;
    path += '/';
    return path;
}

斯瓦特