按换行符分割文本时出错

时间:2012-12-11 03:58:02

标签: javascript html5 graphics opengl-es webgl

这是我的代码的相关部分:

ajax({
    url: "TeaPot.obj",
    success: function(data) {
        var Script = data.split("\n");
        for (var I in Script) {
        var Line = Script[I];
        console.log(Line);
        //If Vertice Line
        if (Line.substring(0, 2) == "v ") {
        //console.log("CORRECT");
            var Row = Line.substring(2).split(" ");
            console.log(Row[0]);
            verts[verts.length] = new Vector3(parseFloat(Row[0]),parseFloat(Row[1]), parseFloat(Row[2]));
        }
      }

现在这应该遍历每一行并寻找“v”,但我的顶点数组仍然没有任何原因,任何原因?

哦,obj文件看起来像这样

 v  -0.3393 0.0000 -12.3639
 v  1.8409 3.7515 -8.3253

我现在拥有它所以它会将顶点的长度设置为96,这是正确的,但数组没有任何存储???

            newX = parseFloat(row[1]);
            newY = parseFloat(row[2]);
            newZ = parseFloat(row[3])
            verts.push = new Vector3(newX, newY, newZ);
            console.log(verts[verts.length-1]);

2 个答案:

答案 0 :(得分:4)

  • data是一个字符串,即回复的内容。
  • data.responseTextundefined
  • data.responseText.split是一个例外,您无法访问undefined
  • 的属性

你想要这个:

// save capital letter variables for constructors
var script = data.split("\n");

答案 1 :(得分:0)

它认为数据 responseText 属性未定义。我会在“var Script = ...”行使用firebug设置断点,并检查数据的值是什么。如果您无法设置断点,请在该行之前执行一个简单的警报(数据); ,以查看数据的值。我怀疑数据是原始文本。