试图从服务器获取plist数据但什么都没得到

时间:2016-11-10 06:31:34

标签: php ios objective-c plist

我正在构建这个应用程序,我需要从服务器获取数据这里是我的代码

XMLHttpRequest cannot load "...API link..." Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

这是我的jobsearch.php

NSString *url = [NSString stringWithFormat:@"http://URL/ios/jobsearch.php"];
NSDictionary *dataDict = [[NSDictionary alloc] initWithContentsOfURL:[NSURL URLWithString:url]];
        OriginalResultArray=[dataDict valueForKey:@"Objects"];
        jobResultArray=[[NSMutableArray alloc] init];
        [jobResultArray addObjectsFromArray:OriginalResultArray];
        NSLog(@"Result is : %@",jobResultArray);

所有这些代码我得到回应。如果你看到我的php文件中有2个Dict,并且每个dict中都有4个键。如果我从每个字典中删除2个键并且只有2个键,那么在这种情况下我会在我的数组中获取数据。但我需要所有4个数据键。请帮忙。在此先感谢。

2 个答案:

答案 0 :(得分:0)

使用TBXml解析器。这是解析XML数据的最简单方法。

您可以在Github link

下载

答案 1 :(得分:0)

数据格式不正确。

enter image description here

更改

<key>jobpay</key>
<integer>$30</integer>

<key>jobpay</key>
<string>$30</string>

现在数据格式正确。

enter image description here

以下是完整的数据。

<plist version="1.0">
<dict>
    <key>Objects</key>
    <array>
        <dict>
            <key>jobname</key>
            <string>asdfasdf111</string>
            <key>jobbids</key>
            <integer>3</integer>
            <key>jobpay</key>
            <string>$30</string>
            <key>jobid</key>
            <integer>3</integer>
        </dict>
        <dict>
            <key>jobname</key>
            <string>asdfasdf1111111333</string>
            <key>jobbids</key>
            <integer>1</integer>
            <key>jobpay</key>
            <string>$36</string>
            <key>jobid</key>
            <integer>5</integer>
        </dict>
    </array>
</dict>

最终输出:

enter image description here