Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在AngularJS中的Web API GET请求中发送多个SQL查询参数?_Angularjs_Angular Http - Fatal编程技术网

如何在AngularJS中的Web API GET请求中发送多个SQL查询参数?

如何在AngularJS中的Web API GET请求中发送多个SQL查询参数?,angularjs,angular-http,Angularjs,Angular Http,我正在构建一个用于报告医院库存和销售摘要的应用程序,在API的GET请求中传递19个参数,以便在SQL表中搜索后显示值 我可以在URL中传递2个参数,这是可行的,但在URL中传递20个参数是繁忙且难以管理的 如何在AngularJS的GET请求中发送这样的SQL查询参数 我尝试在Postman应用程序上传递URL中的所有参数,但它可以工作,但我想将其作为对象或类似对象传递: var stockSalesSummaryPayload={ 初始:“2010/01/10”, 最终:“2019/01/0

我正在构建一个用于报告医院库存和销售摘要的应用程序,在API的GET请求中传递19个参数,以便在SQL表中搜索后显示值

我可以在URL中传递2个参数,这是可行的,但在URL中传递20个参数是繁忙且难以管理的

如何在AngularJS的GET请求中发送这样的SQL查询参数

我尝试在Postman应用程序上传递URL中的所有参数,但它可以工作,但我想将其作为对象或类似对象传递:

var stockSalesSummaryPayload={
初始:“2010/01/10”,
最终:“2019/01/01”,
c_价格:“0”,
XCHNGRT:'0.0',
状态:“0.0”,
公司:'0',
用户标识:“0”,
所有公司:'0',
是的,
编辑:对,,
超级:“0”,
存储区:“0”,
grpid:'0',
组件代码:“0”,
ac_代码:“0”,
零:是的,
销售:是的,
系统:“0”,
分区id:“0”
};
vm.fetchStockSalesSummaryList=函数(){
//代码工作
$http.get('http://192.168.50.112/medipro.api.Medipro/api/stocksalessummary?init=2015/01/10&final=2019/01/10&c_price=0&XCHNGRT=0.0&status=0.0&firm=0&userid=0&all_firm=0&bulk_stk=true&edited=true&super=0&store=0&grpid=0&compcode=0&ac_code=0&zero=true&sales=true&bulksystem=0&div_id=0')
//代码不工作
$http.get('http://192.168.50.112/medipro.api.Medipro/api/stocksalessummary,stockSalesSummaryPayload)
.然后(函数(结果){
vm.stocksalessumarylist=result.data;
console.log(result.data);
},函数(错误){
console.log(错误);
vm.notification={模式:“危险”,消息:“错误:'+Error.data.message};
});
}
我希望我的输出符合我的查询参数

页面如下所示:

$http.get(url, {params: {init: stockSalesSummaryPayload.init}}).then( ... and so on... )

我建议您阅读位于的AngularJs文档

代码的问题在于,您应该使用api提供给您的“params”配置。因此,您的代码应该是这样的:

$http.get(url, {params: {init: stockSalesSummaryPayload.init}}).then( ... and so on... )

我建议您阅读位于的AngularJs文档

代码的问题在于,您应该使用api提供给您的“params”配置。因此,您的代码应该是这样的:

$http.get(url, {params: {init: stockSalesSummaryPayload.init}}).then( ... and so on... )

要将参数作为请求负载发送(或者我们可以说是body),您需要将请求从GET转换为POST。因为我们不能按照HTTP协议在GET请求的有效负载中发送任何数据。因此,您还必须在后端代码库中进行转换,以接受post请求和负载

如果不想更改任何后端,也可以使用params

$http.get(<url>, {
    params: <your request data in JSON format>
});
$http.get({
参数:
});
编辑:

根据文件:

params–{Object.}–将使用paramSerializer序列化并作为GET参数追加的字符串或对象的映射。


谢谢

要将参数作为请求有效负载发送(或者我们可以说是body),您需要将请求从转到POST。因为我们不能按照HTTP协议在GET请求的有效负载中发送任何数据。因此,您还必须在后端代码库中进行转换,以接受post请求和负载

如果不想更改任何后端,也可以使用params

$http.get(<url>, {
    params: <your request data in JSON format>
});
$http.get({
参数:
});
编辑:

根据文件:

params–{Object.}–将使用paramSerializer序列化并作为GET参数追加的字符串或对象的映射。


谢谢

要自动编码URL参数,请使用
config
对象的
params
属性:

var stockSalesSummaryPayload = {
    init: '2010/01/10',
    final: '2019/01/01',
    c_price: '0',
    XCHNGRT: '0.0',
    status: '0.0',
    firm: '0',
    userid: '0',
    all_firm: '0',
    bulk_stk: true,
    edited: true,
    super: '0',
    store: '0',
    grpid: '0',
    compcode: '0',
    ac_code: '0',
    zero: true,
    sales: true,
    bulksystem: '0',
    div_id: '0'
};

var url = "http://192.168.50.112/medipro.api.Medipro/api/stocksalessummary";
var config = { params: stockSalesSummaryPayload };

$http.get(url, config)
.then(function (result) {
    vm.stockSalesSummaryList = result.data;
    console.log(result.data);
}, function (error) {
    console.log(error);
    vm.notification = { mode: 'danger', message: 'Error: ' + error.data.message };
});

AngularJS框架将自动将搜索参数添加到URL中,并正确使用保留字符

要自动编码URL参数,请使用
config
对象的
params
属性:

var stockSalesSummaryPayload = {
    init: '2010/01/10',
    final: '2019/01/01',
    c_price: '0',
    XCHNGRT: '0.0',
    status: '0.0',
    firm: '0',
    userid: '0',
    all_firm: '0',
    bulk_stk: true,
    edited: true,
    super: '0',
    store: '0',
    grpid: '0',
    compcode: '0',
    ac_code: '0',
    zero: true,
    sales: true,
    bulksystem: '0',
    div_id: '0'
};

var url = "http://192.168.50.112/medipro.api.Medipro/api/stocksalessummary";
var config = { params: stockSalesSummaryPayload };

$http.get(url, config)
.then(function (result) {
    vm.stockSalesSummaryList = result.data;
    console.log(result.data);
}, function (error) {
    console.log(error);
    vm.notification = { mode: 'danger', message: 'Error: ' + error.data.message };
});

AngularJS框架将自动将搜索参数添加到URL中,并正确使用保留字符

我可以直接在URL中发送此类请求是的,但angular为我们提供了可行的模块化方法。但是不能在get请求中直接作为参数发送数据,你必须将数据包装在{params}字段中。我可以直接在URLYes中发送这样的请求,但是angular为我们提供了可行的模块化方法。但是不能在get请求中直接以参数形式发送数据,您必须将数据包装在{params}字段中。我在过去遇到过这种情况,我编写了一个通用函数,它接受对象并将其转换为查询参数字符串。这是实现这一目标的最简单和最复杂的方法。我在过去遇到过这种情况,我编写了一个通用函数,它接受对象并将其转换为查询参数字符串。这是实现这一目标最简单、最复杂的方法。