我使用Angular,UI路由器和Elasticsearch构建了一个小型搜索应用程序,我试图在结果页面的url中获取UI路由器查询参数.
我正在努力实现这一目标
domain.com/search?user_search_terms
Run Code Online (Sandbox Code Playgroud)
有了这个
.state('search', {
url: '/search?q',
Run Code Online (Sandbox Code Playgroud)
我在我的控制器中初始化了searchTerms和$ stateParams
vm.searchTerms = $stateParams.q || '';
Run Code Online (Sandbox Code Playgroud)
然后在我的控制器中的搜索功能中我有这个
vm.search = function() {
$state.go('search', {q: vm.searchTerms});
...
Run Code Online (Sandbox Code Playgroud)
一切正常,直到我尝试实现UI Route查询参数.我仍然可以获得搜索建议,从州到州,但搜索中断.
我以为我需要在config {}中实现Angular $ http get params,但后来我意识到我只是想尝试使用UI路由器获取查询参数.看来我已经用UI路由器设置了一切来获取查询参数,但是......我做错了什么?
我有以下网址:
http://my.site/?code=74e30ef2-109c-4b75-b8d6-89bdce1aa860
Run Code Online (Sandbox Code Playgroud)
我想重定向到:
http://my.site#/homepage
Run Code Online (Sandbox Code Playgroud)
我这样做:
import { push } from 'react-router-redux'
...
dispatch(push('/homepage'))
Run Code Online (Sandbox Code Playgroud)
但反应带我到:
http://my.site/?code=74e30ef2-109c-4b75-b8d6-89bdce1aa860#/homepage
Run Code Online (Sandbox Code Playgroud)
如何在不重新加载应用程序的情况下告诉 React 将查询参数删除到浏览器的地址栏中?
我想将键值对作为参数传递给Backbone路由,并希望在调用映射函数之前将其反序列化为javascript对象.
var MyRouter = Backbone.Router.extend({
routes: {
"dashboard?:params" : "show_dashboard"
},
show_dashboard: function(params){
console.log(params);
}
});
Run Code Online (Sandbox Code Playgroud)
当我转到"http://...#dashboard?key1 = val1&key2 = val2"时,应在控制台上打印{key1:"val1",key2:"val2"}.
我目前在每个映射函数中使用jQuery BBQ的$ .deparam方法来获取反序列化的对象.如果我可以扩展路由器并将其定义一次就可以了,因此可以在所有映射函数中作为对象访问params.什么是干净的方式来做到这一点?这有什么陷阱?
非常感谢,
马诺
我需要在文件路径中添加一些额外的查询信息作为查询参数,以便稍后在文件处理期间解析路径.我虽然System.Uri类可以帮助我,但看起来它没有给我我对本地文件路径的期望.
var fileUri = new Uri("file:///c://a.txt?select=10")
// fileUri.AbsoluteUri = "file:///c://a.txt%3Fselect=10"
// fileUri.Query = ""
var httpUri = new Uri("http://someAddress/a.txt?select=10")
// httpUri.AbsoluteUri = "http://someaddress/a.txt?select=10"
// httpUri.Query = "?select=10"
Run Code Online (Sandbox Code Playgroud)
在"ftp://someAddress/a.txt?select = 10"的情况下 - 查询字符串也为空
我知道System.Uri可能会解析" a.txt?select = 10 "来更正文件名" a.txt%3Fselect = 10 ",但是为什么 - 如何逃避这个?
提前致谢
我刚刚初始化了一个Yesod项目(没有数据库)yesod init.
我的HomeRGET处理程序如下所示:
getHomeR :: Handler Html
getHomeR = do
(formWidget, formEnctype) <- generateFormPost sampleForm
let submission = Nothing :: Maybe (FileInfo, Text)
handlerName = "getHomeR" :: Text
defaultLayout $ do
aDomId <- newIdent
setTitle "Welcome To Yesod!"
$(widgetFile "homepage")
Run Code Online (Sandbox Code Playgroud)
使用时yesod devel,我可以访问默认主页http://localhost:3000/.
如何修改上面列出的处理程序以检索(和显示)HTTP GET查询参数,例如id=abc123访问此URL时:
http://localhost:3000/?id=abc123
注意:这个问题已经回答Q&A风格,因此故意不显示研究工作!
我正在从.mdb文件(MSAccess 2000格式)中读取数据.有些桌子的名字中有冒号.当我尝试在这些表上打开查询时,我收到异常:
EOleException with message 'Parameter object is improperly defined. Inconsistent or incomplete information was provided'.
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
procedure TForm1.Button1Click(Sender: TObject);
var
Query: TADOQuery;
begin
Query := TADOQuery.Create(nil);
Query.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=DB.mdb;Persist Security Info=False';
Query.SQL.Text := 'select * from [Table1:1]';
try
Query.Open;
finally
Query.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud) 例如,这是一个有效的URL:
http://0.0.0.0:8080/auth/reset?id=AAAAAAAAAAA=&code=uX8kklWhVi-Vhp4BdMRQYBEveEdwQXBFDecLlsT6yBw=
从我研究的内容来看,似乎不鼓励(但我没有发现任何确定的东西),但我测试过的所有解码器都正确地解码了它.这包括:
decodeURIComponent我有一个LoginView,我基本上从面包店入门项目复制.
当我运行面包店应用程序并尝试使用错误的凭据登录时,会出现另一个带有错误消息的div.
但是,此错误消息div不会出现在我的视图中.因为我已经适应了模板,我们的企业设计的,但我记得,这个问题已经存在的两个文件时LoginView.java,并login-view.html仍然从面包房应用程序的精确副本.我仔细检查过.error不只是被我自己的css隐藏 - 在DOM中不存在div.error.
访问时调试LoginView /login?error(访问login?error=true是相同的)表明它无法识别任何queryParameters! - >为什么?
我的(Spring)安全配置在登录方面也是一样的:
.and()
.formLogin()
.loginPage(("/login")).permitAll()
.loginProcessingUrl("/login")
.failureUrl("/login?error")
Run Code Online (Sandbox Code Playgroud)
编辑:根据评论中的要求,我将添加模板的相关部分.但是,错误是100%不在模板中 - 正如我在调试中看到的那样,错误发生LoginView.java在afterNavigation方法中.
<dom-module id="login-view">
<template>
<style include="shared-styles">
.....
</style>
.....
<template is="dom-if" if="[[error]]">
<div class="error">
<iron-icon icon="vaadin:exclamation-circle-o" class="error__icon"></iron-icon>
<p class="error__text">
Der Benutzername und/oder das Passwort stimmt nicht. Bitte überprüfe deine Angaben und versuche es erneut.
</p>
</div>
</template>
....
</template>
<script>
class LoginView extends Polymer.GestureEventListeners(Polymer.Element) {
static get is() {
return 'login-view'; …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 URL 查询参数在 Shopify 结账中预填充送货/账单地址。我发现使用此处引用的送货地址很容易做到这一点:
https://community.shopify.com/c/Shopify-APIs-SDKs/Autofill-checkout-fields/td-p/318793
但是,当我尝试对帐单信息执行相同操作时,付款屏幕上始终选择“与送货地址相同”单选框,如果我手动选择不同地址的选项,则所有值都为空
如何预填充两个地址?我已经尝试将帐单查询参数直接添加到结帐付款页面 URL,但这也不起作用。这是我一直在尝试的网址:
demo-store.myshopify.com/checkout?checkout[email]=fake.name@gmail.com&checkout[shipping_address][first_name]=John&checkout[shipping_address][last_name]=Doe&checkout[shipping_address][address1]=333%20Fake%20St.&checkout[shipping_address][city]=San%20Diego&checkout[shipping_address][province]=CA&checkout[shipping_address][country]=USA&checkout[shipping_address][zip]=92116&checkout[shipping_address][phone]=333-333-3333&checkout[different_billing_address]=true&checkout[billing_address][first_name]=Jane&checkout[billing_address][last_name]=Doe&checkout[billing_address][address1]=444%20Fake%20St%20&checkout[billing_address][city]=San%20Diego&checkout[billing_address][province]=CA&checkout[billing_address][country]=USA&checkout[billing_address][zip]=92121&checkout[billing_address][phone]=444-444-4444
Run Code Online (Sandbox Code Playgroud)
另外,额外的问题,运输状态似乎总是根据 IP 地址填充,所以即使我给它传递一个值,它也会显示我所处的状态。我怎样才能让它始终反映查询参数的值?
我有一个GET路由,我想在url中将对象参数编码为查询字符串.
在编写swagger文档时,我基本上会遇到错误,不允许我在类型参数中使用schema/ objecttypes query:
paths:
/mypath/:
get:
parameters
- in: path
name: someParam
description: some param that works
required: true
type: string
format: timeuuid #good param, works well
- $ref: "#/parameters/mySortingParam" #this yields an error
parameters:
mySortingParam
name: paging
in: query
description: Holds various paging attributes
required: false
schema:
type: object
properties:
pageSize:
type: number
cursor:
type: object
properties:
after:
type: string
format: string
Run Code Online (Sandbox Code Playgroud)
具有对象值的请求查询参数将被编码在实际请求中.
即使swagger在屏幕顶部显示错误,也会在swagger UI编辑器中正确呈现对象,但是错误会浮动在文档的顶部.
query-parameters ×10
javascript ×2
.net ×1
angularjs ×1
backbone.js ×1
c# ×1
delphi ×1
haskell ×1
http ×1
ms-access ×1
params ×1
query-string ×1
react-router ×1
reactjs ×1
shopify ×1
shopify-api ×1
swagger ×1
swagger-ui ×1
uri ×1
url ×1
vaadin ×1
vaadin-flow ×1
yesod ×1