我有一个从textarea
中提取的数据,如下所示:
TO WHOM IT MAY CONCERN:
This is to certify that Mr/Ms JOHN SMITH is enrolled in this institution for this First Semester of School Year 2013-2014
as a second year Psychology student. Below is his/her STATEMENT OF ACCOUNT.
我尝试过什么?
var letter = $('#textarea_letter').val();
var myJSON = {"letter": letter };
var strJSON = JSON.stringify(myJSON);
$('#toPDF_button').attr('href', 'generate_pdf/'+ myJSON +'/pdf');
// this button then sends the letter to a function w/c generates the PDF
我得到了什么?
错误_404页面
我需要在param中传递这封信的url,这是它在url中的样子:
localhost/accounting/generate_pdf/{"letter":"TO WHOM IT MAY CONCERN:\n\t\t\t\t\t\t\tThis is to certify that Mr/Ms JOHN S> SMITH is enrolled in this institution for this First Semester of School Year 2013-2014\n\t\t\t\t\t\t\tas a second year BSIT student. Below is his/her STATEMENT OF ACCOUNT."}/pdf
我怎么才能做到呢?我是JSON新手。谢谢
更新
完成此操作后var myJSON = encodeURIComponent(JSON.stringify(myJSON1));
这是新的URL,但仍会出现相同的错误
http://localhost/accounting/accounting/generate_sta/%7B%22letter%22%3A%22TO%20WHOM%20IT%20MAY%20CONCERN%3A%5Cn%5Ct%5Ct%5Ct%5Ct%5Ct%5Ct%5CtThis%20is%20to%20certify%20that%20Mr%2FMs%20JOHN%20SMITH%20G.%20SEBUCAO%20is%20enrolled%20in%20this%20institution%20for%20this%20First%20Semester%20of%20School%20Year%202013-2014%5Cn%5Ct%5Ct%5Ct%5Ct%5Ct%5Ct%5Ctas%20a%20second%20year%20Psychology%20student.%20Below%20is%20his%2Fher%20STATEMENT%20OF%20ACCOUNT.%22%7D/pdf
5条答案
按热度按时间falq053o1#
您不能直接发送JSON字符串,必须对其进行编码。
有一个Javascript函数用于此。
这个应该可以
mbzjlibv2#
你可以使用encodeURIComponent()函数对URI组件进行编码。2这个函数对特殊字符进行编码。3此外,它还对以下字符进行编码:,/?:@ & = + $ #提示:使用decodeURIComponent()函数对编码的URI组件进行解码。
如果您有任何问题,请使用以下代码:
gxwragnw3#
你不应该把它作为url参数传递,你应该用POST来发送它,所以你的JS代码应该看起来像这样:
我不知道你的服务器方法是怎么写的,但是你也可以在那里更新一些东西,这样它就不会试图读取url,而是使用请求的值。
eufgjt7s4#
从GET更改为POST不是一个无害的选择。除此之外,POST还排除了HTTP缓存的使用。现在,考虑一下最初的示例,它似乎需要生成一个自定义文档,缓存可能会有一点帮助。
9nvpjoqh5#
您是否获得了方便的解决方案?
如果没有,我建议做些小改动:
希望能有所帮助