您是否知道将Javascript对象编码为string可以通过GET请求传递的快速而简单的方法?
不jQuery,没有其他框架 - 只是简单的Javascript :)
我有一个javascript对象,我需要展平成一个字符串,以便我可以作为查询字符串传递,我该怎么做?即:
{ cost: 12345, insertBy: 'testUser' } 会成为 cost=12345&insertBy=testUser
我不能使用jQuery AJAX调用这个调用,我知道我们可以使用它并传递对象,data但不是在这种情况下.然而,使用jQuery来展平对象是可以的.
谢谢.
我有以下代码..
function getGrades(grading_company) {
if (grading_company == 'Not Specified') {
// Remove grades box & show condition box
showConditionBox();
} else {
// Set file to get results from..
var loadUrl = "ajax_files/get_grades.php";
// Set data string
var dataString = 'gc_id=' + grading_company;
// Set the callback function to run on success
var callback = showGradesBox;
// Run the AJAX request
runAjax(loadUrl, dataString, callback);
}
}
function runAjax(loadUrl, dataString, callback) {
jQuery.ajax({
type: 'GET',
url: loadUrl,
data: dataString,
dataType: 'html', …Run Code Online (Sandbox Code Playgroud) 有没有办法转换这个对象:
{
lang: 'en-us',
episode: 12
}
Run Code Online (Sandbox Code Playgroud)
到具有以下格式的字符串?
"lang=en-us&episode=12"
Run Code Online (Sandbox Code Playgroud)
很像将对象映射到查询字符串,其中每个属性都是一个查询参数。
我可以这样做:
var parameters = [];
for(var prop in obj)
parameters.push(prop + '=' + obj[prop]);
return parameters.join('&');
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种单线解决方案。这可能吗?
PS:我不能使用jQuery和它的任何实用功能。解决方案必须是纯 JavaScript。
我想将对象字符串化为查询字符串.
例如,
{ hello: '123', goodbye: "789" }
Run Code Online (Sandbox Code Playgroud)
会给我......
hello=123&goodbye=789
Run Code Online (Sandbox Code Playgroud)