jquery ajax POST没有表单元素

时间:2012-10-17 09:00:13

标签: jquery ajax

我需要发布数据,网址只是“v1 / wave”,需要五个参数。我试过这个,但到目前为止它还没有用到:

function request(minLat, minLon, maxLat, maxLon, maxNrOfResults, callback){

$.ajax({

        url: 'v1/wave?minLat='+minLat+'&minLong='+minLon+'&maxLat='+maxLat+'&maxLong='+maxLong'+&maxNrOfResults='+maxNrOfResults,
        type: "GET",
        success: function (data) {
            callback(data);
            if(data.msgCode == LOGIN_SUCCESS){
                console.log("request success");



            } else if(data.msgCode == LOGIN_FAILED){
                console.log("request failed");
            }
        },
        error: function(data) {
            handleRequestError(data);
        }
    })

错误:未捕获的SyntaxError:网址行中的意外字符串。

3 个答案:

答案 0 :(得分:6)

您应该避免在网址中发送参数。您应该使用data属性。有几个优点,包括编码..或拼写错误:)

function request(minLat, minLon, maxLat, maxLon, maxNrOfResults, callback){    
$.ajax({
            url: 'v1/wave',
            data: { minLat : minLat, minLong : minLong, maxLat : maxLat, maxLong : maxLong,  maxNrOfResults : maxNrOfResults },
            type: "POST",
            success: function (data) {
                callback(data);
                if(data.msgCode == LOGIN_SUCCESS){
                    console.log("request success");   
                } else if(data.msgCode == LOGIN_FAILED){
                    console.log("request failed");
                }
            },
            error: function(data) {
                handleRequestError(data);
            }
        })

答案 1 :(得分:2)

这里有一个错字:'&maxLong='+maxLong'+

答案 2 :(得分:2)

尝试以下

如果您要发布数据,可以将数据从查询字符串移动到发布数据,以确保更安全。还可以使用ajax类型 POST

var myPostData=JSON.stringify({'minLat':minLat,'minLong':minLon, etc});

$.ajax({

    url: 'v1/wave',

    type: "POST",
    data:myPostData,
    dataType: "json",
    success: function (data) {
        callback(data);
        if(data.msgCode == LOGIN_SUCCESS){
            console.log("request success");



        } else if(data.msgCode == LOGIN_FAILED){
            console.log("request failed");
        }
    },
    error: function(data) {
        handleRequestError(data);
    }
})