700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php jquery ajax输出数组吗 jquery – 从PHP返回数组时的Ajax Parse错误

php jquery ajax输出数组吗 jquery – 从PHP返回数组时的Ajax Parse错误

时间:2020-05-12 07:15:40

相关推荐

php jquery ajax输出数组吗 jquery – 从PHP返回数组时的Ajax Parse错误

我已经阅读了关于这个问题的大部分SA问题,但没有一个解决了我的问题.

以下代码将JavaScript数组传递给PHP5.这工作正常,但是当我将一个PHP数组返回给ajax代码时,a

parserror: unexpected token "[" is returned.

JS

$(function () {

translate($("h1,p"));

function translate(selection$) {

var elements = [];

for (i = 0; i < selection$.length; i++) {

elements.push(selection$.get(i).outerHTML);

}

var jString = JSON.stringify(elements);

$.ajax({

url: 'test.PHP',type: 'post',data: { 'data': jString },cache: false,dataType: 'json',success: function (data,status) {

$("#after").append(data);

},error: function (xhr,desc,err) {

alert("Details: " + desc + "\nError: " + err + "\n" + xhr.responseText);

}

}); // end ajax call

}

});

传递的字符串数组是

["jQuery Translator","Hello World"]

编辑

完整的PHP代码是:

ini_set('display_errors',1);

ini_set('display_startup_errors',1);

error_reporting(E_ALL);

if('POST' == $_SERVER['REQUEST_METHOD'])

{

include 'HttpTranslator.PHP';

include 'AccessTokenAuthentication.PHP';

if (!empty($_POST['data'])) {

$elements = json_decode($_POST['data']);

}

$auth = new AccessTokenAuthentication();

$authHeader=$auth->authenticate();

$fromLanguage = "en";

$toLanguage = "es";

$contentType = 'text/html';

$category = 'general';

//Create the Translator Object.

$translatorObj = new HTTPTranslator();

foreach ($elements as $element) {

$params = "text=".urlencode($element)."&to=".$toLanguage."&from=".$fromLanguage;

$translateUrl = "/v2/Http.svc/Translate?$params";

//Get the curlResponse.

$curlResponse = $translatorObj->curlRequest($translateUrl,$authHeader);

//Interprets a string of XML into an object.

$xmlObj = simplexml_load_string($curlResponse);

$translated = array();

foreach((array)$xmlObj[0] as $val){

array_push($translated,$val);

}

header('Content-type: application/json');

var_export($translated);

}

}

?>

xhr.responseText是

"["

jQuery Traductor"]["

Hola mundo"]"

这对我来说看起来不像json.我不是PHP5专家,但怀疑我没有正确填写数组.任何帮助是赞赏.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。