尝试从公共API解析JSON响应数据

时间:2017-06-29 00:54:48

标签: javascript jquery html json

无法将JSON数据从客户端公共作业板API呈现给选择框。

这是我到目前为止所做的:

使用Javascript:

class TriangleView(context: Context?, attrs: AttributeSet?) : View(context, attrs) {

    val paint = Paint()
    val path = Path()

    override fun onDraw(canvas: Canvas?) {
        super.onDraw(canvas)
        canvas ?: return
        canvas.drawPath(configurePath(canvas.width.toFloat(), path), configurePaint(paint))
    }

    fun getHeight(width: Double): Float {
        return Math.sqrt((Math.pow(width, 2.0) - Math.pow((width / 2), 2.0))).toFloat()
    }

    fun configurePaint(paint: Paint): Paint {
        paint.color = android.graphics.Color.WHITE
        paint.isAntiAlias = true

        return paint
    }

    fun configurePath(width: Float, path: Path): Path {
        path.lineTo((width / 2f), getHeight(width.toDouble()))
        path.lineTo(width, 0F)
        path.lineTo(0f, 0f)

        return path
    }
}

HTML:

$(document).ready(function(){
$.ajax({
    url:'https://api.greenhouse.io/v1/boards/roivantsciences/jobs/',
    type:'POST',
    data: 'q=' + str,
    dataType: 'json',
    success: function( json ) {
        $.each(json, function(i, value) {
            $('#myselect').append($('<option>').text(value).attr('value', value));
        });
    }
});
});

它没有返回任何东西。我确信这充满了错误,但任何数量的指导都会受到高度赞赏

1 个答案:

答案 0 :(得分:1)

您几乎就在那里,但请检查您是否使用了正确的HTTP方法。我认为它应该是GET来电而不是POST来电。

$(document).ready(function(){
$.ajax({
    url:'https://api.greenhouse.io/v1/boards/roivantsciences/jobs/',
    type:'GET',
    data: 'q=' + str,
    dataType: 'json',
    success: function( json ) {
        $.each(json.jobs, function(i, value) {
            $('#myselect').append($('<option>').text(value.title).attr('value', value.title));
        });
    }
});
});

请检查我的JSBin sample并告诉我它是怎么回事。

PS - 我使用title属性将其绑定到选择框,只是为了向您演示。您可以根据需要进行更改