用jQuery而不是查询字符串发布一个对象



我想与jQuery一起将帖子发送到服务,URL似乎是这样的:www.domain.com/api/service?param1=value1&Param2=Value2&Param3=Value3

我想发送这样的对象

{
param1 = "value1",
param3 = "value2",
param3 = "value3"
}

是角度,但我不想使用角,因为它会涉及大型且昂贵的迁移。

这可能是可以选择的?

听起来您想做POST而不是GET

您列出的第一个URL是GET,在其中查询字符串直接附加到URL。

POST在URL中没有参数。相反,它在http请求本身中包含它们为请求正文

使用jQuery.ajax(),这是将method选项指定为POST的简单问题(默认为GET(,并为data对象提供您的请求主体:

jQuery.ajax({ url: 'myurl.com', method: 'POST', data: myDataToSend });

获取请求:

$.get( "url", { 
 param1:"value1",
 param3:"value2",
 param3:"value3" 
} );

用于发布请求:

$.post( "url", { 
 param1:"value1",
 param3:"value2",
 param3:"value3" 
} );

使用POST代替GET

$.ajax(
{
    url: 'your_url',
    method: 'POST',
    data: {
        param_1 : 'value'
        ...
    }
}).done(function(response)
{
    //parse the response here
});
var yourObj = {
    param1: 'value1',
    param2: 'value2',
    param3: 'value3',
}

使用POST

$.ajax({
    url: /* your url */
    method: 'POST',
    contentType: 'application/json; charset=utf-8',
    data: yourObj,
    dataType: 'json'
});

使用GET

$.ajax({
    url: /* your url */
    method: 'GET',
    data: yourObj,
    dataType: 'json'
});

在此处阅读以获取更多选项。

首先,您定义了您的obj,这是一个JSON对象,请注意,JSON对象需要使用double quetos for String yjen for String yjen with ajax将此对象发送到服务器。创建JSON对象的字符串

var yourObj = {
        "param1": "value1",
        "param2": "value2",
        "param3": "value3",
    }
    $.ajax({
        type: 'post',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(yourObj),
        url: /* your url */
    });

相关内容

最新更新