我有一个简单的问题,我似乎无法找到适合其他地方的解决方案.我正在尝试使用Javascript或jquery创建URL构建器表单.Bascially,将采取两个表单字段的值,将它们添加到预先设定的网址,并显示在上提交的第三场.
生成的URL可能是http://www.mydomain.com/index.php?variable1=12&variable2=56
现在,这不是形式的"行动"和应用程序不能读取URL(抢变量),所以它在页面做.
生成的URL将显示在"url"命名字段中.
以下是表单的示例:
<form id="form1" name="form1" method="post" action="">
<p>
<label>Variable 1
<input type="text" name="variable1" id="variable1" />
</label>
</p>
<p>
<label>Variable 2
<input type="text" name="variable2" id="variable2" />
</label>
</p>
<p>
<label>URL
<input type="text" name="url" id="url" />
</label>
</p>
<p>
<input type="submit" name="button" id="button" value="Submit" />
</p>
</form>
Run Code Online (Sandbox Code Playgroud)
提前致谢!特洛伊
我想使用node.js发送http请求.我做:
http = require('http');
var options = {
host: 'www.mainsms.ru',
path: '/api/mainsms/message/send?project='+project+'&sender='+sender+'&message='+message+'&recipients='+from+'&sign='+sign
};
http.get(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
}).on('error', function(e) {
console.log('ERROR: ' + e.message);
});
Run Code Online (Sandbox Code Playgroud)
我path这样的时候:
/api/mainsms/message/send?project=geoMessage&sender=gis&message=tester_response&recipients=79089145***&sign=2c4135e0f84d2c535846db17b1cec3c6
Run Code Online (Sandbox Code Playgroud)
这是工作.但是当message参数包含任何空格时,例如tester response所有空格.在控制台中我看到http使用这个网址:
/api/mainsms/message/send?project=geoMessage&sender=gis&message=tester
Run Code Online (Sandbox Code Playgroud)
如何发送空间.或者我只是不能在网址中使用空格?
我需要通过POST方法发送数据.
例如,我有字符串"bla&bla&bla".我尝试使用encodeURI并得到"bla&bla&bla"作为结果.对于这个例子,我需要用正确的东西替换"&".
我应该用什么样的方法来准备正确的POST数据?
更新:
我只需要转换可能破坏POST请求的charachters.只有他们.
我有一个显示包含<和>的字符串的文本字段.因此,代码会抛出错误.如何在文本字段中允许使用这些字符?
谢谢 :)
我有模特儿
public class SomeModel
{
public string SomeText { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在javascript中我创建了一个模型的javascript对象文字:
var model = {
SomeText: "test"
};
var serializedData = JSON.stringify(model);
Run Code Online (Sandbox Code Playgroud)
这会产生一个如下所示的字符串:
"{"SomeText":"test"}"
Run Code Online (Sandbox Code Playgroud)
现在假设我想将此模型发送到控制器,该控制器使用以下函数接受这样的模型:
public void Index(SomeModel model)
{
}
Run Code Online (Sandbox Code Playgroud)
我需要的是一个url字符串,其中模型具有以下形式:
"?SomeText=test"
Run Code Online (Sandbox Code Playgroud)
我知道当你通过ajax post发送模型时,ajax就是这样做的:
$.ajax({type:"POST",
url: "someUrl",
data: serializedData,
...
});
Run Code Online (Sandbox Code Playgroud)
'data:'url-编码序列化数据.
但我实际上不想使用ajax,所以我需要自己构建这个url.我想做与ajax对'data:'完全相同的事情.我如何自己对序列化数据进行url编码?
http://www.w3schools.com/tags/ref_urlencode.asp
由于URL通常包含ASCII集之外的字符,因此必须将URL转换为有效的ASCII格式.
但是,两个空格/,%都是ASCII字符集的一部分,那么为什么要首先对它们进行编码呢?应编码哪些字符?
我正在尝试在我正在处理的几个URL中URL-escape(百分比编码)非ascii字符.我正在使用一个Flash应用程序来加载来自这些URL的图像和声音片段等资源.由于文件名可以包含非ascii字符,如下所示:
???.jpg
我通过对字符进行utf-8编码来转义它们,然后以百分比形式转义unicode字节,以获得以下内容:
%E6%97%A5%E6%9C%AC%E8%AA%9E.jpg
当我在Internet Explorer以外的任何浏览器中运行应用程序时,这些文件名工作正常 - 我尝试过Firefox,Safari和Chrome.但是,当我在IE中启动应用程序(尝试6和8)并尝试加载声音片段时,我得到:
Error #2044: Unhandled ioError,并且URL已损坏为类似:
æ¥æ¬èª.jpg
有关如何解决此问题的任何想法?这只是用本地文件系统URL测试驱动Flash应用程序.我还注意到,Internet Explorer无法找到一个文件,例如:
file:///C:/%E6%97%A5%E6%9C%AC%E8%AA%9E.jpg,虽然Chrome/Firefox会解码它并加载适合带路径的文件
C:\???.jpg
编辑
我认为我的问题与以下ActionScript代码片段中遇到的问题相同:
import flash.display.Loader;
import flash.net.URLRequest;
...
var ldr:Loader;
var req:URLRequest = new URLRequest("???.jpg");
ldr = new Loader();
ldr.load(req);
Run Code Online (Sandbox Code Playgroud)
使用该字符串???.jpg将在IE中工作,而使用该字符串%E6%97%A5%E6%9C%AC%E8%AA%9E.jpg在其他浏览器中工作.我需要的是一个适用于所有浏览器的单一表单.我已经尝试过%u编码并将http请求标头设置为Content-Type: text/html; charset=utf-8在%转义或非转义形式中没有运气.
我试图分析一些JavaScript,一行是
var x = unescape("%u4141%u4141 ......");
Run Code Online (Sandbox Code Playgroud)
表格中有很多字符%uxxxx.
我想重写JavaScriptin c#但无法弄清楚正确的函数来解码像这样的字符串.我试过了
HttpUtility.HTMLDecode("%u4141%u4141");
Run Code Online (Sandbox Code Playgroud)
但这并没有改变这些角色.
我怎样才能在c#中实现这一目标?
我需要动态地从一些自定义字符串值创建URL.我怀疑 "encodeURIComponent(string)" 函数是否有跨浏览器问题是否有人遇到过这个函数的问题(我没有使用任何JS库)?
以下是我的JS代码:
window.location.href = 'products.php?price_range=-INFto2000,2001to5000';
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在 javascript 中对 URL 进行编码并在 PHP 中对其进行解码,这样我的浏览器的导航栏就会显示
“products.php?price_range=-INFto2000%2C2001to5000”
代替
“products.php?price_range=-INFto2000,2001to5000”
我的 php 代码将能够使用-INFto2000,2001to5000in的正确值$_GET['price_range']