I think you should start your indices from 0 so it should become:
rectVertices.indices = new Int16Array([ 0,1,2,0,2,3 ]);
[Edit]
It seems you are using triangle strip rather than triangles. The indices you are using are for triangles, which I think is the usual thing to do unless you have some performance issues. Don't use triangle strips as they are meant to be some kind of mesh compression.
So you need to change the draw call from GL_TRIANGLE_STRIP to GL_TRIANGLES.
In case you need to use triangles strips check how they should be connected here.