rtyug

rtyug
Рейтинг
263
Регистрация
13.05.2009
Должность
perl,php,sql,javascript(jquery),freebsd/linux
Интересы
perl,php,sql,javascript(jquery),freebsd/linux
https://minfin.com.ua/blogs/94589307/115366/

что-то не работает

if ( $send.html() == msg.array_send_upd ) {

msg.array_send_upd - это получается массив, а не хэш? разве это запись для хэша?

$ENV{REQUEST_URI}


#!/usr/bin/perl -w
$test = "http://bla-bla.ua/index.php?action=gallery&sa=add2";


opendir(TEMPDIR, '/usr/home/...../1g') ||
die "bla-bla /tmp: $!";
@files=readdir TEMPDIR;
closedir(TEMPDIR);


for ($index=0; $index<@files; $index++)
{

$file = "/usr/home/....../1g/$files[$index]";

use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
use CGI qw(header -no_debug);

my $req = POST $test,
Content_Type => 'form-data',
Content => [ title => 'vasya',
cat => '1',
picture => [$file],
];
my $res = LWP::UserAgent->new->request($req);
print header, $res->is_success ? $res->content : $res->status_line;
print $req->as_string;

}

я вот нашел аналогичную тему http://community.livejournal.com/ru_perl/345451.html

(там ошибка такая, то проблема другая)

там написано, что ключи должны быть строками, тоже

 {0: "bla-bla", 23: "bla"} 

 {"0": "bla-bla", "23": "bla"} 

но что-то я не могу понять как мне тут сделать? (или может проболема вообще не в этом...)

        var formData = {
"text": +"+ $("input#text").val() + "

};

...так и аналогично не работает вообще...

просто я текст раньше в json с форм не передавал раньше, не видел смысла, сейчас сделал, но не знал что будет геморой такой...

===

bearman:
это json данные? смех это ...

я не написал, тут гемороя много, сори...

;oo;o это не json, это то что ввести в поле textarea или с input

а потом $.toJSON(formData) это запакует

вот в отладке в фрейворке


info] *** Request 846 (0.257/s) [62425] [Thu Apr 15 08:59:05 2010] ***
[debug] Body Parameters are:
.-------------------------------------+--------------------------------------.
| Parameter | Value |
+-------------------------------------+--------------------------------------+
| jsonData | {"text":"&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;"} |
'-------------------------------------+--------------------------------------'
[debug] "POST" request for "chat/add/1" from "127.0.0.1"
[debug] Found sessionid "1d490742d9bad03df7ed1c8b31baca40dfd26dc7" in cookie
[debug] Restored session "1d490742d9bad03df7ed1c8b31baca40dfd26dc7"
[debug] Path is "chat/add"
[debug] Arguments are "1"
[info] Request took 0.350099s (2.856/s)
.------------------------------------------------------------+-----------.
| Action | Time |
+------------------------------------------------------------+-----------+
| /begin | 0.006399s |
| /auto | 0.000740s |
| /chat/add | 0.286340s |
| -> /friends/found_friends | 0.003768s |
| -> /chat/count_add | 0.019538s |
| -> /comments_api/off_json | 0.003737s |
| /end | 0.001017s |
'------------------------------------------------------------+-----------'

[info] *** Request 847 (0.258/s) [62425] [Thu Apr 15 08:59:05 2010] ***

я передаю text, значение &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; с ним все номрально!

а вот я вставил

dfgdfgdfg;
в textarea

получается такая фигня:

(Json где-то оборвался, получается??)


[info] *** Request 858 (0.252/s) [62425] [Thu Apr 15 09:00:59 2010] ***
[debug] Body Parameters are:
.-------------------------------------+--------------------------------------.
| Parameter | Value |
+-------------------------------------+--------------------------------------+
| jsonData | {"text":"dfgdfgdfg |
'-------------------------------------+--------------------------------------'
[debug] "POST" request for "chat/add/1" from "127.0.0.1"
[debug] Found sessionid "1d490742d9bad03df7ed1c8b31baca40dfd26dc7" in cookie
[debug] Restored session "1d490742d9bad03df7ed1c8b31baca40dfd26dc7"
[debug] Path is "chat/add"
[debug] Arguments are "1"
[error] Caught exception in MyApp::Controller::chat->add "unexpected end of string while parsing JSON string, at character offset 18 (before "(end of string)") at /home/x0/data4/MyApp/script/../lib/MyApp/Controller/chat.pm line 48"
[info] Request took 0.141275s (7.078/s)
.------------------------------------------------------------+-----------.
| Action | Time |
+------------------------------------------------------------+-----------+
| /begin | 0.006554s |
| /auto | 0.000691s |
| /chat/add | 0.007087s |
| /end | 0.000865s |
'------------------------------------------------------------+-----------'

rtyug добавил 15.04.2010 в 23:58

bearman, тут проблема врядли на jquery json?

сори

если написать так и отправить эти данные с textarea или с input:

  ;oo;o   

то ошибка эта, я так понял что ругается на кавычки?

 add "unexpected end of string while parsing JSON string, at character offset 562 (before "(end of string)") at /home 

если так:

то ошибки нету

  ooo   

часть HTML:

 
....
<script type="text/javascript" src="/dev/jquery-1.3.2.js"></script>

<script type="text/javascript" src="/latest/jquery.json-2.2.js"></script>
....

var formData = {
"id_last":$("#last_id").html()
, "array_new":array

};


$.ajax({
type: "POST",

url: "/chat/load/1",
data:'jsonData=' + $.toJSON(formData),
......

делаю так:


use JSON;
use Encode;

my $json_param = decode_json Encode::encode( 'utf8', $c->request->params->{jsonData} )
if ( $c->request->params->{jsonData} );

....

# out json:
sub off_json : Privat {

my ( $self, $c, $user_details, $decode ) = @_;

if ($decode) {
$user_details->{text_cm} =
Encode::decode( 'utf8', $user_details->{text_cm} )
if ( $user_details->{text_cm} );
$user_details->{useranme} =
Encode::decode( 'utf8', $user_details->{useranme} )
if ( $user_details->{useranme} );
$user_details->{name_guest} =
Encode::decode( 'utf8', $user_details->{name_guest} )
if ( $user_details->{name_guest} );
}
my $json = to_json($user_details);

$c->response->content_type("application/json");
$c->response->body($json);

}

ИМХО, еще вариант: скорее всего банальный ддос...

обсуждали /ru/forum/482373

с темы сисек надо начинать :)

спасибо, работает!

зафтыкал, скобки лишниые и вот так вот надо было сделать "+i+"...

Всего: 2055