我有以下 JSON,必须将其转换为 GET 请求的 URL 参数。
这里给出了一个例子,但是由于这个对象的复杂性,line_items_attributes每个对象可能有多个具有如图所示的给定值,我很难传递正确的对象。
我还尝试过序列化 JSON 对象并传递该值,但这也没有解决问题。
{
"purchase_invoice":
{
"date":"14/04/2015",
"due_date":"14/04/2015",
"contact_id":500,
"contact_name":"TestContact",
"reference":"TestReference",
"line_items_attributes":[
{
"unit_price":10.00,
"quantity":1,
"description":"TestLineItemAttDesc",
"tax_code_id":1,
"ledger_account_id":501,
"tax_rate_percentage":19.0,
"tax_amount":1.60
}]
}
}
Run Code Online (Sandbox Code Playgroud)
我已经搜索了一段时间但没有太多运气。任何见解都值得赞赏和欢迎!
这是调用一个不支持 JSON 格式传入数据的 API,因此在服务器端执行此操作或更改 Web 服务以支持 JSON 格式数据是不可能的。
我有一个 NodeJS 服务器运行在我电脑的 3001 端口上。我可以使用fetch访问本地主机的端点,就像这样:fetch("/api_endpoint")。
但是,我还想在我的 GET 请求中包含 url 参数。
通常,我可以通过这样做来包含 url 参数:
const url = new URL("localhost:3001")
const params = { sources: JSON.stringify(this.state.sources), timeRange: JSON.stringify(this.state.timeRange), minReacts: this.state.minReacts }
url.search = new URLSearchParams(params)
let data = await fetch(url)
Run Code Online (Sandbox Code Playgroud)
但是,这会引发错误:
获取 API 无法加载 localhost:3001?sources=%5B%22Confessions%22%2C%22Summer+Confessions%22%2C%22Timely+Confessions%22%5D&timeRange=%5B%222017-01-12T23%3A35%6AZ 22%2C%222019-01-12T23%3A35%3A07.667Z%22%5D&minReacts=20。对于 CORS 请求,URL 方案必须是“http”或“https”。
如何创建一个与 localhost 一起使用的获取请求,该请求也使用 URL 参数?
编辑:
添加http://到前面并不能解决问题。
访问 ' http://localhost:3001/?sources=%5B%22Confessions%22%2C%22Summer+Confessions%22%2C%22Timely+Confessions%22%5D&timeRange=%5B%222017-01-13T00% 3A00%3A17.309Z%22%2C%222019-01-13T00%3A00%3A17.310Z%22%5D&minReacts=20 ' from origin ' http://localhost:3000 ' 已被 CORS 策略阻止:No 'Access- Control-Allow-Origin' 标头存在于请求的资源上。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。
我有这个查询字符串:
"paymentMethod=1&fullname=&persona=&companyName=&countryName=&email=&totalCameras=&camerasOwned=&cameraShares=&snapmailCount=&sessionCount=&createdAtDate=&lastLoginAtDate=&telephone=&sort=created_at%7Cdesc&limit=50&page=1"
Run Code Online (Sandbox Code Playgroud)
我正在尝试删除所有空参数并将其变为:
"paymentMethod=1&sort=created_at%7Cdesc&limit=50&page=1"
Run Code Online (Sandbox Code Playgroud)
我采取了这种方法:
let searchParams = Object.fromEntries(new URLSearchParams(queryString))
let filteredParams = Object.fromEntries(
Object.entries(searchParams).filter(([_, value]) => value != "")
)
console.log(new URLSearchParams(filteredParams).toString())
console.log(searchParams)
Run Code Online (Sandbox Code Playgroud)
但我不确定这一点,使用new URLSearchParams两次,这是一个更好、正确的方法吗?
任何指导将不胜感激。
如何在 Django 中获取所有这些 url 参数(1、12-18、5、生日快乐)?
https://domain/method/?1='12-18'&5='Happy birthday'
Run Code Online (Sandbox Code Playgroud)
我努力了:
https://domain/method/?1='12-18'&5='Happy birthday'
Run Code Online (Sandbox Code Playgroud)
但我只得到12-18。
我有一个大型数组,h它包含一个被调用的参数的几个实例,startingParam后面总是跟着两个相关但不总是相同的参数.我需要查找startingParam数组中的每个实例,并将它和接下来的两个参数推送到一个单独的数组中holdingArray.
以下代码无效,因为我对Ruby很新.有谁知道我做错了什么?有没有更好的方法来解决这个问题?
h.each do |param|
if param == 'startingParam'
holdingArray << h.[param],
holdingArray << h.[param + 1],
holdingArray << h.[param + 2]
end
end
Run Code Online (Sandbox Code Playgroud)
非常感谢.
我正在尝试使用zend框架(v 1.11)开发应用程序.我对这个框架完全陌生.
我有这样的网址.
http://xyz.local/client/feedback/index/username/abc/page/2
上面的链接指向client模块,feedback控制器的index动作.
username每个请求都需要url参数和有效值.
在这个页面上,我将所有反馈分页.我的探索是,当我从index动作导航到相同或不同控制器中的某个其他动作时,参数名称/page/2仍保留在URL中.
假设我导航到new同一个控制器的操作,那么新的URL就像这样
http://xyz.local/client/feedback/new/username/newClient/page/2
而它应该是这样的
http://xyz.local/client/feedback/new/username/newClient
使用$this->url(array('module' => 'client', 'controller' => 'feedback', 'action' => 'new'), null, true)重置所有参数,包括我不想要的用户名.
什么是标准的Zend这样做的方式.
我使用IIS7的URL重写模块-因为很少静态文件的URL重写。
基本上我将/ pretty-url映射到/real-file-name.html
到目前为止,这很简单。
但是在将查询字符串添加到漂亮的url之后,它会抛出404状态代码。到目前为止,我还没有找到解决此问题的任何选择。有什么建议吗,或者我做错了什么?
配置如下:
<rewriteMaps>
<rewriteMap name="CoolUrls">
<add key="/pretty-url" value="/real-file.html" />
... and so on ...
</rewriteMap>
</rewriteMaps>
Run Code Online (Sandbox Code Playgroud)
和:
<rules>
<clear />
<rule name="Rewrite rule for CoolUrls" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{CoolUrls:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>
</rules>
Run Code Online (Sandbox Code Playgroud)
任何带有查询的请求(?标记后的任何参数)都以404状态码结束。
首先,这是我第一次尝试PHP ..
这是代码:
<?php
if (isset($_GET['name']) && isset($_GET['password'])
$uname = $_GET['name'];
$pass = $_GET['password'];
$conn = mysql_connect("localhost","DBusername","DBpassword");
mysql_select_db("DBname",$conn);
$result = mysql_query("SELECT * FROM table WHERE username=$uname and password =$password");
$row = mysql_fetch_array($result);
if(is_array($row)) {
$ip = $row[ip];
echo $ip ;
}else {
echo = "Invalid Username or Password!";
}
?>
Run Code Online (Sandbox Code Playgroud)
当我尝试此链接时:http://www.mywebsite.com/page.php?name = user&password = mypassword
这是一个隐藏页面,当用户尝试登录用C#编写的Windows窗体应用程序时,我用它来获取我记录的成员IP地址
总是得到一个空白页..
提前致谢
我正在尝试更新我的referer url中的参数:
$referer = $request->headers->get('referer');
Run Code Online (Sandbox Code Playgroud)
例如,$referer是一个url whith两个参数:
string(96) "http://<my_url>/web/app_dev.php/urlpart/?param1=value1¶m2=value2"
Run Code Online (Sandbox Code Playgroud)
我想param1=value1通过param1=updatedvalue1例如另一个轻松替换.
我知道我们可以twig使用当前请求url 执行此操作:
{{ path(app.request.attributes.get('_route'),
app.request.query.all|merge({'sort': 'address'})) }}
Run Code Online (Sandbox Code Playgroud)
是否可以在Symfony 2控制器中执行相同的操作来更新引用程序?
我找到了一个具有preg_replace功能的解决方案PHP,我希望有一个更好的方法来做它看起来很丑,我想找到一个更好的解决方案,任何帮助都会得到认可!
$referer = preg_replace('/([?&])(param1)=\w+(&|$)/', '', $referer);
$referer = preg_replace('/(param2)=\w+(&|$)/', '', $referer);
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助 !
我只有一个页面,其中包含两个下拉列表组件;只有成功通过身份验证(有效令牌)后才能访问该页面。两个下拉列表都使用来自不同JSON-API的数据。我有一个下拉列表功能,但另一方面,它的API的URL需要参数。
示例网址: http:// buildingsAPI:111 / api / buildings /
通过带有附加ID的邮递员进行测试: http:// buildingsAPI:111 / api / buildings / abcde-abce-abc2-111-2222
样本Json:
[
{
"abc_buildingid": "1111-2222-3333-aaa-1111117",
"abc_energyprogramid": "abcde-abce-abc2-111-2222",
"siteName": "Building 1",
"Available": false,
"clientName": "Client 1"
},
{
"abc_buildingid": "222-2222-3333-aaa-1111117",
"abc_energyprogramid": "xyz11-abce-abc2-111-2222",
"siteName": "Building 2",
"Available": false,
"clientName": "Client 2"
},
]
Run Code Online (Sandbox Code Playgroud)
...已经通过用户身份验证(localStorage)获得了令牌,但是我还需要将abc_energyprogramid附加/传递为API URL的参数。
... 代码:
constructor(props) {
super(props);
this.getToken = this.getToken.bind(this);
}
componentDidMount() {
const bearerToken = this.getToken();
fetch('http://buildingsAPI:111/api/buildings/?myparam1={abc_energyprogramid}', {
method: 'GET',
headers: {
'Content-type': 'application/json',
'Authorization': `Bearer ${bearerToken}` …Run Code Online (Sandbox Code Playgroud) url-parameters ×10
javascript ×2
json ×2
php ×2
api ×1
arrays ×1
c# ×1
cgi ×1
django ×1
fetch-api ×1
get ×1
iis ×1
iis-7 ×1
localhost ×1
mysql ×1
pcre ×1
python ×1
python-3.x ×1
query-string ×1
reactjs ×1
ruby ×1
symfony ×1
url ×1
urlvariables ×1